swagger如何返回map字段注释
作者:xingsfdz 时间:2023-02-22 08:56:27
1.效果图如下:
2.controller层代码:
import java.util.HashMap;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.mengyoou.core.serialize.ResponseMsg;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
@Api(value="返回字段添加注释信息controller",tags={"返回字段添加注释信息controller"})
@RestController
public class TestController {
@ApiOperation(value="返回字段添加注释信息", notes="返回字段添加注释信息")
@RequestMapping(value={"demo"}, method={RequestMethod.GET})
@ApiResponses({
@ApiResponse(code = 200, message = "ok", response=User.class),
})
public ResponseMsg demo() {
User user = new User();
Map<String, Object> map = new HashMap<>();
map.put("user", user);
return new ResponseMsg(map);
}
}
3.用户实体的代码:
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value="登录成功后返回的个人信息")
@Data
public class User {
@ApiModelProperty(value="用户名")
private String userName;//用户名
@ApiModelProperty(value="密码")
private String password;//用户名
}
4.关键点:
接口 Swagger 显示返回模型的注释
mark:环境看之前文章
目的:web api controller 调用 asp.net mvc controller,让swagger里面的返回模型支持注释
关键:对返回消息类的封装,返回数据为泛型,swagger就能显示model的注释了
JsonMsg
/// <summary>
/// 返回消息
/// </summary>
public class JsonMsg<T> where T : class
{
/// <summary>
/// 状态码
/// </summary>
public int code { get; set; }
/// <summary>
/// 消息
/// </summary>
public string msg { get; set; }
/// <summary>
/// 内容
/// </summary>
public T obj { get; set; }
/// <summary>
/// 图标
/// </summary>
public int icon { get; set; }
public static JsonMsg<T> OK(T obj, string msg = "成功")
{
return new JsonMsg<T>() { code = 1, msg = msg, obj = obj, icon = 1 };
}
public static JsonMsg<T> Error(T obj, string msg = "失败")
{
return new JsonMsg<T>() { code = 0, msg = msg, obj = obj, icon = 1 };
}
}
OrderDto
public class OrderDto
{
public string Name { get; set; }
}
HomeController
public JsonResult GetOrderInfo()
{
var order = new OrderDto { Name = "203022200" };
return Json(order);
}
HomeAPIController
[AllowAnonymous]
public JsonMsg<OrderDto> testResultDataDesc3()
{
HomeController controller = GetController<HomeController>();
var d = (OrderDto)controller.GetOrderInfo().Data;
return JsonMsg<OrderDto>.OK(d);
}
效果
来源:https://blog.csdn.net/xingsfdz/article/details/105919031
标签:map,字段,注释,swagger
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Android采取ContentObserver方式自动获取验证码
2023-07-31 16:20:48
Android实现倒计时效果
2021-10-13 03:25:29
![](https://img.aspxhome.com/file/2023/3/138643_0s.jpg)
Springboot集成JSR303参数校验的方法实现
2023-02-06 06:34:44
![](https://img.aspxhome.com/file/2023/7/72377_0s.png)
SpringBoot @PostConstruct原理用法解析
2022-02-02 18:05:46
C#运行时相互关系浅析
2023-09-08 00:12:43
![](https://img.aspxhome.com/file/2023/6/108816_0s.jpg)
Java操作redis实现增删查改功能的方法示例
2022-01-04 07:24:24
SpringBoot项目中使用Mockito的示例代码
2023-09-25 22:31:14
![](https://img.aspxhome.com/file/2023/3/62373_0s.png)
Java中高效的判断数组中某个元素是否存在详解
2021-05-25 17:32:08
Spring AOP实现接口请求记录到数据库的示例代码
2023-08-15 19:14:05
![](https://img.aspxhome.com/file/2023/4/58064_0s.png)
c#方法重写和隐藏的学习示例
2022-12-24 14:20:12
Android巧用ActionBar实现tab导航效果
2022-06-02 05:49:18
![](https://img.aspxhome.com/file/2023/2/126792_0s.jpg)
java IO流 之 输入流 InputString()的使用
2023-08-22 07:44:31
客户端实现蓝牙接收(C#)知识总结
2021-11-21 22:17:11
C#中怎么将一个List转换为只读的
2021-10-04 15:52:51
C#通过流写入一行数据到文件的方法
2023-08-22 13:04:08
spring cloud 配置中心客户端启动遇到的问题
2023-03-23 16:30:34
![](https://img.aspxhome.com/file/2023/3/74883_0s.png)
Android 音乐播放器的开发实例详解
2023-12-07 17:53:10
![](https://img.aspxhome.com/file/2023/2/93272_0s.jpg)
springboot ErrorPageFilter的实际应用详解
2023-11-24 01:02:59
C#递归实现显示文件夹及所有文件并计算其大小的方法
2023-09-13 01:56:01
![](https://img.aspxhome.com/file/2023/1/84431_0s.png)
Java导出Execl疑难点处理的实现
2021-09-18 12:55:11
![](https://img.aspxhome.com/file/2023/3/80293_0s.png)