Swagger2,UI文档不显示接口请求参数的问题

Swagger2,UI文档不显示接口请求参数的问题

RT,因为之前没使用过Swagger,连API都不是很熟悉, 在接受前任的代码中,意外发现很多接口不显示请求参数的内容,只有一个参数类型,和名字,但是里面具体的参数完全不显示。

一开始还以为是因为自己不熟悉的原因所以没办法准确找到解决答案,于是我开始换发型,去洗手间洗手,百度API使用的正确姿势,但无论怎么变换姿势,还是没能正确显示出来。
于是我渐渐失去耐心,开始往”Swagger不显示请求参数“的方向努力,发现不少人吐槽遇到各种奇葩问题,各种小数点,莫名的符号,导致的无法显示
经过上面的“抽风”点拨,我的脑回路也开始往抽风方面想。最后神奇的一幕出现了,原来是我请求的Controller页面,即@ApiImplicitParam直接标注的方法里头,多了个todo注释导致的!!! 删除后终于显示正常了
怕怕~~
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
在 C# Swagger-UI 中,如果要在接口调用中使用类作为参数,并且希望在 Swagger-UI显示类的属性描述,可以使用 XML 注释来描述类和属性,然后使用 Swagger-UI 提供的 `ApplyXmlActionFilter` 类来应用这些注释。 具体而言,需要在 `SwaggerConfig.cs` 文件中注册 `ApplyXmlActionFilter` 类,并在 `WebApiConfig.cs` 文件中启用注释功能。以下是示例代码: ```csharp // SwaggerConfig.cs public class SwaggerConfig { public static void Register() { var thisAssembly = typeof(SwaggerConfig).Assembly; GlobalConfiguration.Configuration .EnableSwagger(c => { // 设置 Swagger 文档信息 c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" }); // 使用 ApplyXmlActionFilter 应用 XML 注释 c.OperationFilter<ApplyXmlActionFilter>(thisAssembly); // 设置 Swagger JSON 和 UI 的路径 var xmlPath = GetXmlCommentsPath(); c.IncludeXmlComments(xmlPath); }) .EnableSwaggerUi(c => { // 设置 Swagger UI参数 }); } private static string GetXmlCommentsPath() { var basePath = AppDomain.CurrentDomain.RelativeSearchPath ?? AppDomain.CurrentDomain.BaseDirectory; var xmlPath = Path.Combine(basePath, "MyApi.xml"); return xmlPath; } } ``` ```csharp // WebApiConfig.cs public static class WebApiConfig { public static void Register(HttpConfiguration config) { // 启用注释功能 var xmlPath = HttpContext.Current.Server.MapPath("~/App_Data/MyApi.xml"); config.EnableSwagger(c => { c.SingleApiVersion("v1", "My API"); c.IncludeXmlComments(xmlPath); }); config.EnableSwaggerUi(); } } ``` 在使用类作为参数接口中,需要使用 XML 注释来描述类和属性。以下是示例代码: ```csharp /// <summary> /// 用户类 /// </summary> public class User { /// <summary> /// 用户 ID /// </summary> /// <example>1</example> public int Id { get; set; } /// <summary> /// 用户名 /// </summary> /// <example>John</example> public string Name { get; set; } /// <summary> /// 用户邮箱 /// </summary> /// <example>[email protected]</example> public string Email { get; set; } } /// <summary> /// 更新用户信息请求类 /// </summary> public class UpdateUserRequest { /// <summary> /// 用户 ID /// </summary> /// <example>1</example> public int UserId { get; set; } /// <summary> /// 用户名 /// </summary> /// <example>John</example> public string Name { get; set; } /// <summary> /// 用户邮箱 /// </summary> /// <example>[email protected]</example> public string Email { get; set; } } public class UserController : ApiController { /// <summary> /// 更新用户信息 /// </summary> /// <param name="request">更新用户信息请求</param> /// <remarks>更新用户的姓名和邮箱</remarks> public void UpdateUser(UpdateUserRequest request) { // 更新用户信息的逻辑 } } ``` 在 Swagger-UI 中,就可以看到类和属性的描述信息了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

验证码有毒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值