zoukankan      html  css  js  c++  java
  • WebApiClient 不支持将 ContentType 为的内容反序列化为 xXx 的解决方案

    通过 WebApiClient 调用第三方接口时,可能会遇到如下异常些信息:

    [EXCEPTION]
    WebApiClient.ApiReturnNotSupportedExteption: 不支持将ContentType为的内容反序列化为 
    Volo.AjaxResponse`1[System.Collections.Generic.List`1[Volo.ProjectDto]]
        如果实际返回的内容为Xml,请为方法声明XmlReturnAttribute
        如果实际返回的内容为Json,请为方法声明JsonReturnAttribute
           at WebApiClient.Attributes.AutoReturnAttribute.GetTaskResult(ApiActionContext context)
           at WebApiClient.Contexts.ApiActionContext.ExecHttpRequestAsync()
           at WebApiClient.Contexts.ApiActionContext.ExecRequestAsync()
           at WebApiClient.Contexts.ApiActionContext.ExecuteActionAsync[TResult]()

    注意异常信息中的这两句话:

        如果实际返回的内容为Xml,请为方法声明XmlReturnAttribute
        如果实际返回的内容为Json,请为方法声明JsonReturnAttribute

    [JsonReturn]
    [HttpPost("/volo/v2/listAllByUser.action")]
    Task<AjaxResponse<List<ProjectDto>>> GetProject([FormContent]ProjectInput input);

    因为当前接口返回的数据为 JSON,给 GetProject 方法加上 [JsonReturn] 注解后即可避免。

    说到这里顺便提一下关于接口返回数据类型,需要提前线下沟通,对于接口对接效率有显著提高。

  • 相关阅读:
    Source Insight技巧收集
    宝贝,祝你生日快乐!
    【转载】C++中的extern C
    Meego
    source insight增加新类型方法
    点操作符和箭头操作符的异同
    【转载】mtk编译命令
    margin和padding的用法与区别以及bug处理方式
    js数组
    随机验证码,颜色同时刷新
  • 原文地址:https://www.cnblogs.com/fxck/p/13076621.html
Copyright © 2011-2022 走看看