swagger如何返回map字段注释
更新时间:2021年07月02日 17:08:56 作者:xingsfdz
这篇文章主要介绍了swagger如何返回map字段注释的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
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); }
效果
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
使用Jenkins一键打包部署SpringBoot项目的步骤详解
任何简单操作的背后,都有一套相当复杂的机制,本文将以SpringBoot应用的在Docker环境下的打包部署为例,详细讲解如何使用Jenkins一键打包部署SpringBoot应用,文中通过图文结合讲解的非常详细,需要的朋友可以参考下2023-11-11SpringBoot使用MockMvc测试get和post接口的示例代码
Spring Boot MockMvc是一个用于单元测试的模块,它是Spring框架的一部分,专注于简化Web应用程序的测试,MockMvc主要用来模拟一个完整的HTTP请求-响应生命周期,本文给大家介绍了SpringBoot使用MockMvc测试get和post接口,需要的朋友可以参考下2024-06-06java读取文件内容的三种方法代码片断分享(java文件操作)
本文介绍java读取文件内容的三种方法,代码可以直接放到程序中使用,大家参考使用吧2014-01-01Tornadofx学习笔记之IconTextFx开源库整合5000+个字体图标
这篇文章主要介绍了Tornadofx学习笔记之IconTextFx开源库整合5000+个字体图标的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-12-12
最新评论