c# – 从枚举中Swagger预定义的返回类型值

c# – 从枚举中Swagger预定义的返回类型值,第1张

概述我需要能够告诉Swagger API文档某个API将返回某个枚举的子集. 想象一下,我有一个枚举UserType {User_Not_Found,User_Blocked,User_Duplicated,User_Active ……等等}. 一个api / users / search可能会在找到匹配时返回用户FullName,如果不匹配则返回“User_Not_Found”. return Re 我需要能够告诉Swagger api文档某个API将返回某个枚举的子集.

想象一下,我有一个枚举UserType {User_Not_Found,User_Blocked,User_Duplicated,User_Active ……等等}.

一个API / users / search可能会在找到匹配时返回用户Fullname,如果不匹配则返回“User_Not_Found”.

return Request.CreateResponse(       success ? httpStatusCode.OK : httpStatusCode.BadRequest,success ? fullname : UserType.User_Not_Found.ToString());

问题:如何告诉swagger在这个特定的API上,如果找到匹配,返回可能返回一个全名,如果找不到匹配,则返回“User_Not_Found”?

解决方法 你想要做的就是让常规方法根据其执行返回2种不同的类型.这是不可能的.

我认为如果找到用户,你应该使用httpStatusCode.OK返回用户,否则返回包含在响应中的自定义异常,包括httpStatusCode 401,403或404(基于你想要的).这可以记录异常,并且可以反映在Swagger UI中.然而,这并不反映swagger.Json中的Enum.

try    {        if (isUserFound)        {            return Request.CreateResponse(httpStatusCode.OK,user);        }        throw new UserNotFoundException("User was not found");    }    catch (UserNotFoundException ex)    {        return Request.CreateResponse(httpStatusCode.NotFound,ex);    }
总结

以上是内存溢出为你收集整理的c# – 从枚举中Swagger预定义的返回类型值全部内容,希望文章能够帮你解决c# – 从枚举中Swagger预定义的返回类型值所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1231335.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存