Open Closed

Blazor Can't access http://api.***.tech/api/abp/api-definition #2647


User avatar
0
zhongfang created
  • ABP Framework version: v5.1.3
  • UI type: Blazor Server Side
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes
  • Exception message and stack trace:
[00:33:01 INF] Request starting HTTP/1.0 GET http://api.***.tech/api/abp/api-definition - -
[00:33:01 INF] Executing endpoint 'Volo.Abp.AspNetCore.Mvc.ApiExploring.AbpApiDefinitionController.Get (Volo.Abp.AspNetCore.Mvc)'
[00:33:01 INF] Route matched with {area = "abp", action = "Get", controller = "AbpApiDefinition", page = ""}. Executing controller action with signature Volo.Abp.Http.Modeling.ApplicationApiDescriptionModel Get(Volo.Abp.Http.Modeling.ApplicationApiDescriptionModelRequestDto) on controller Volo.Abp.AspNetCore.Mvc.ApiExploring.AbpApiDefinitionController (Volo.Abp.AspNetCore.Mvc).
[00:33:01 ERR] ---------- RemoteServiceErrorInfo ----------
{
  "code": null,
  "message": "对不起,在处理你的请求期间,产生了一个服务器内部错误!",
  "details": null,
  "data": {},
  "validationErrors": null
}

[00:33:01 ERR] Given type (System.String&, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e) should be instance of System.Object, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e  (Parameter 'item')
System.ArgumentException: Given type (System.String&, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e) should be instance of System.Object, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e  (Parameter 'item')
   at Volo.Abp.Collections.TypeList`1.CheckType(Type item)
   at Volo.Abp.Collections.TypeList`1.Add(Type item)
   at Volo.Abp.Http.Modeling.ApiTypeNameHelper.GetSimpleTypeName(Type type, ITypeList duplicateTypes)
   at Volo.Abp.Http.Modeling.MethodParameterApiDescriptionModel.Create(ParameterInfo parameterInfo)
   at System.Linq.Enumerable.SelectArrayIterator`2.ToList()
   at Volo.Abp.Http.Modeling.ActionApiDescriptionModel.Create(String uniqueName, MethodInfo method, String url, String httpMethod, IList`1 supportedVersions, Nullable`1 allowAnonymous, String implementFrom)
   at Volo.Abp.AspNetCore.Mvc.AspNetCoreApiDescriptionModelProvider.AddApiDescriptionToModel(ApiDescription apiDescription, ApplicationApiDescriptionModel applicationModel, ApplicationApiDescriptionModelRequestDto input)
   at Volo.Abp.AspNetCore.Mvc.AspNetCoreApiDescriptionModelProvider.CreateApiModel(ApplicationApiDescriptionModelRequestDto input)
   at lambda_method10858(Closure , Object , Object[] )
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
[00:33:01 INF] Executing ObjectResult, writing value of type 'Volo.Abp.Http.RemoteServiceErrorResponse'.
[00:33:01 INF] Executed action Volo.Abp.AspNetCore.Mvc.ApiExploring.AbpApiDefinitionController.Get (Volo.Abp.AspNetCore.Mvc) in 128.478ms
[00:33:01 INF] Executed endpoint 'Volo.Abp.AspNetCore.Mvc.ApiExploring.AbpApiDefinitionController.Get (Volo.Abp.AspNetCore.Mvc)'
  • Steps to reproduce the issue:"
  • I deploy the HttpApi.Host on server.
  • I can open the page https://api.****.tech/swagger/index.html.
  • It run well for many days.
  • Now, after a daily deploy with some module changed, it will throw exception while Blazor project access http://api.***.tech/api/abp/api-definition

4 Answer(s)
  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    HI

    Are your all apps use the same abp packages version?

  • User Avatar
    0
    zhongfang created

    I have found out the problem. Is that out parameter not supported in HttpController?

    [HttpGet]
        [Route("try-open-id")]
        public bool TryGetOpenId(Guid? userId, out string openId)
        {
            return this._userWeChatIdAppService.TryGetOpenId(userId, out openId);
        }
    
  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    Is that out parameter not supported in HttpController?

    I think so. Don't use it.

  • User Avatar
    0
    zhongfang created

    Ok,Ok。 If ABP can check above error stage, and mentioned us. It will save time for us.

Made with ❤️ on ABP v8.2.0-preview Updated on March 25, 2024, 15:11