swagger如何返回map字段注释


Posted in Java/Android onJuly 03, 2021

1.效果图如下:

swagger如何返回map字段注释

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如何返回map字段注释

接口 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);
}

效果

swagger如何返回map字段注释

swagger如何返回map字段注释

swagger如何返回map字段注释

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Java/Android 相关文章推荐
总结一些Java常用的加密算法
Jun 11 Java/Android
深入理解以DEBUG方式线程的底层运行原理
Jun 21 Java/Android
Java 数组内置函数toArray详解
Jun 28 Java/Android
Java基础之详解HashSet的使用方法
Jun 30 Java/Android
Java 语言中Object 类和System 类详解
Jul 07 Java/Android
新手初学Java网络编程
Jul 07 Java/Android
spring boot中nativeQuery的用法
Jul 26 Java/Android
springboot 多数据源配置不生效遇到的坑及解决
Nov 17 Java/Android
Java GUI编程菜单组件实例详解
Apr 07 Java/Android
JavaScript正则表达式实现注册信息校验功能
May 30 Java/Android
SpringCloud中分析讲解Feign组件添加请求头有哪些坑梳理
Jun 21 Java/Android
SpringBoot深入分析讲解监听器模式下
Jul 15 Java/Android
Springboot配置suffix指定mvc视图的后缀方法
java基础——多线程
JUnit5常用注解的使用
Jul 02 #Java/Android
解决Swagger2返回map复杂结构不能解析的问题
SpringBoot工程下使用OpenFeign的坑及解决
Jul 02 #Java/Android
SpringBoot读取Resource下文件的4种方法
Jul 02 #Java/Android
Java基础-封装和继承
You might like
php中如何防止表单的重复提交
2013/08/02 PHP
PHP上传图片进行等比缩放可增加水印功能
2014/01/13 PHP
基于OpenCart 开发支付宝,财付通,微信支付参数错误问题
2015/10/01 PHP
thinkPHP框架自动填充原理与用法分析
2018/04/03 PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
2018/05/23 PHP
IE/FireFox具备兼容性的拖动代码
2007/08/13 Javascript
jQuery代码优化 选择符篇
2011/11/01 Javascript
iframe里的页面禁止右键事件的方法
2014/06/10 Javascript
js实现用户注册协议倒计时的方法
2015/01/21 Javascript
深入学习JavaScript对象
2015/10/13 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
2016/03/29 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
2016/07/08 Javascript
使用plupload自定义参数实现多文件上传
2016/07/19 Javascript
基于javascript实现最简单选项卡切换
2017/02/01 Javascript
jQuery中绑定事件bind() on() live() one()的异同
2017/02/23 Javascript
Vue内容分发slot(全面解析)
2017/08/19 Javascript
vue-router懒加载速度缓慢问题及解决方法
2018/11/25 Javascript
vue+SSM实现验证码功能
2018/12/07 Javascript
Vue父组件如何获取子组件中的变量
2019/07/24 Javascript
JS中比Switch...Case更优雅的多条件判断写法
2019/09/05 Javascript
vue 项目打包时样式及背景图片路径找不到的解决方式
2019/11/12 Javascript
详细分析Node.js 模块系统
2020/06/28 Javascript
学习python (2)
2006/10/31 Python
Python采用socket模拟TCP通讯的实现方法
2014/11/19 Python
Python 定义只读属性的实现方式
2020/03/05 Python
一文带你了解Python 四种常见基础爬虫方法介绍
2020/12/04 Python
蒙蒂塞罗商店:Monticello Shop
2018/11/25 全球购物
Nasty Gal英国:美国女性服饰销售网站
2021/03/02 全球购物
美术教师岗位职责
2014/03/18 职场文书
银行职员自我鉴定
2014/04/20 职场文书
教师个人成长总结
2015/02/11 职场文书
离婚代理词范文
2015/05/23 职场文书
党风廉政建设心得体会
2019/05/21 职场文书
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
2021/05/14 Python
Python标准库之typing的用法(类型标注)
2021/06/02 Python
Nginx设置HTTPS的方法步骤 443证书配置方法
2022/03/21 Servers