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 相关文章推荐
解决SpringCloud Feign传对象参数调用失败的问题
Jun 23 Java/Android
elasticSearch-api的具体操作步骤讲解
Jun 28 Java/Android
ObjectMapper 如何忽略字段大小写
Jun 29 Java/Android
springboot集成springCloud中gateway时启动报错的解决
Jul 16 Java/Android
java泛型通配符详解
Jul 25 Java/Android
剑指Offer之Java算法习题精讲二叉树的构造和遍历
Mar 21 Java/Android
Java中Quartz高可用定时任务快速入门
Apr 03 Java/Android
Android开发手册TextInputLayout样式使用示例
Jun 10 Java/Android
SpringBoot使用ip2region获取地理位置信息的方法
Jun 21 Java/Android
tree shaking对打包体积优化及作用
Jul 07 Java/Android
IDEA中sout快捷键无效问题的解决方法
Jul 23 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
一个程序下载的管理程序(二)
2006/10/09 PHP
php字符串分割函数explode的实例代码
2013/02/07 PHP
彻底搞懂PHP 变量结构体
2017/10/11 PHP
JS input 数字验证代码
2009/07/30 Javascript
javascript 一些用法小结
2009/09/11 Javascript
jquery 学习笔记一
2010/04/07 Javascript
QUnit jQuery的TDD框架
2010/11/04 Javascript
JS焦点图切换,上下翻转
2011/05/12 Javascript
关于跨站脚本攻击问题
2011/12/22 Javascript
jQuery使用after()方法在元素后面添加多项内容的方法
2015/03/26 Javascript
js使用setTimeout实现定时炸弹的方法
2015/04/10 Javascript
bootstrap select插件封装成Vue2.0组件
2017/04/17 Javascript
node.js中使用Export和Import的方法
2017/09/18 Javascript
vue-router动态设置页面title的实例讲解
2018/08/30 Javascript
JS实现躲避粒子小游戏
2020/06/18 Javascript
解决ant design vue 表格a-table二次封装,slots渲染的问题
2020/10/28 Javascript
详解微信小程序轨迹回放实现及遇到的坑
2021/02/02 Javascript
[49:08]Secret vs VP 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python isinstance函数介绍
2015/04/14 Python
详解python发送各类邮件的主要方法
2016/12/22 Python
PyQt5打开文件对话框QFileDialog实例代码
2018/02/07 Python
Python Numpy 数组的初始化和基本操作
2018/03/13 Python
numpy.std() 计算矩阵标准差的方法
2018/07/11 Python
浅析Python函数式编程
2018/10/06 Python
python re正则匹配网页中图片url地址的方法
2018/12/20 Python
如何使用Python发送HTML格式的邮件
2020/02/11 Python
Python编程快速上手——Excel表格创建乘法表案例分析
2020/02/28 Python
牵手50新加坡:专为黄金岁月的单身人士而设的交友网站
2020/08/16 全球购物
大学生学业生涯规划
2014/01/05 职场文书
服务员岗位责任制
2014/02/11 职场文书
反邪教宣传工作方案
2014/05/07 职场文书
财务会计实训报告
2014/11/05 职场文书
建议书格式
2015/02/04 职场文书
springboot创建的web项目整合Quartz框架的项目实践
2022/06/21 Java/Android
Python实现数据的序列化操作详解
2022/07/07 Python
修改Nginx配置返回指定content-type的方法
2022/09/23 Servers