在响应对象 Nswag 客户端中包含内容

时间:2021-01-31 16:36:24

标签: .net code-generation swagger-codegen nswag nswagstudio

我目前正在学习 Nswag studio 并设法生成了一个 C# 客户端。生成的客户端使用 HTTP 客户端,我设法在调用可用端点时获得成功响应。 但是,我似乎无法从每个请求中获取响应正文。 swagger 响应中包含的唯一内容是标题和状态代码。有没有办法自动包含响应内容?即我不想重写生成的代码,这个想法是能够动态生成 API 规范的客户端。

nswag openapi2csclient /input:https://www.foodrepo.org/api-docs/swaggers/v3.json /namespace:MyProj.App.FoodApi /output:MyProj/App/FoodApi/FoodApi.cs /classname:FoodApi /usehttpclientcreationmethod:true /injectHttpClient:true /generateBaseUrlProperty:true /useBaseUrl:true /operationGenerationMode:SingleClientFromPathSegments /runtime:Net50 /clientClassAccessModifier:public /generateJsonMethods:true /generateDataAnnotations:true /generateDtoTypes:true /wrapResponses:true /generateResponseClasses:true /generateClientInterfaces:true

生成的响应类如下所示(注意没有响应体):

[System.CodeDom.Compiler.GeneratedCode("NSwag", "13.10.1.0 (NJsonSchema v10.3.3.0 (Newtonsoft.Json v11.0.0.0))")]
public partial class SwaggerResponse
{
    public int StatusCode { get; private set; }

    public System.Collections.Generic.IReadOnlyDictionary<string, System.Collections.Generic.IEnumerable<string>> Headers { get; private set; }
    
    public SwaggerResponse(int statusCode, System.Collections.Generic.IReadOnlyDictionary<string, System.Collections.Generic.IEnumerable<string>> headers) 
    {
        StatusCode = statusCode; 
        Headers = headers;
    }
}

0 个答案:

没有答案
相关问题