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 15 Java/Android
Java中多线程下载图片并压缩能提高效率吗
Jul 01 Java/Android
JUnit5常用注解的使用
Jul 02 Java/Android
Lombok的详细使用及优缺点总结
Jul 15 Java/Android
Java spring单点登录系统
Sep 04 Java/Android
MyBatis自定义SQL拦截器示例详解
Oct 24 Java/Android
JPA 通过Specification如何实现复杂查询
Nov 23 Java/Android
Android存储中最基本的文件存储方式
Apr 30 Java/Android
利用正则表达式匹配浮点型数据
May 30 Java/Android
spring IOC容器的Bean管理XML自动装配过程
May 30 Java/Android
Spring JPA 增加字段执行异常问题及解决
Jun 10 Java/Android
基于Android10渲染Surface的创建过程
Aug 14 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
phpmyadmin 常用选项设置详解版
2010/03/07 PHP
PHP实现的封装验证码类详解
2013/06/18 PHP
PHP中加密解密函数与DES加密解密实例
2014/10/17 PHP
laravel自定义分页的实现案例offset()和limit()
2019/10/15 PHP
jquery 显示*天*时*分*秒实现时间计时器
2014/05/07 Javascript
javascript中不易分清的slice,splice和split三个函数
2016/03/29 Javascript
微信小程序实现点击返回顶层的方法
2017/07/12 Javascript
简单谈谈JS中的正则表达式
2017/09/11 Javascript
JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
2018/01/07 Javascript
Vue中的slot使用插槽分发内容的方法
2018/03/01 Javascript
Vue 表情包输入组件的实现代码
2019/01/21 Javascript
Jquery的autocomplete插件用法及参数讲解
2019/03/12 jQuery
js回文数的4种判断方法示例
2019/06/04 Javascript
JavaScript获取页面元素的常用方法详解
2019/09/28 Javascript
vue将data恢复到初始状态 &amp;&amp; 重新渲染组件实例
2020/09/04 Javascript
Python中optionParser模块的使用方法实例教程
2014/08/29 Python
python中实现php的var_dump函数功能
2015/01/21 Python
在 Python 应用中使用 MongoDB的方法
2017/01/05 Python
Python Flask基础教程示例代码
2018/02/07 Python
Python实现的将文件每一列写入列表功能示例【测试可用】
2018/03/19 Python
python爬虫刷访问量 2019 7月
2019/08/01 Python
Python多继承以及MRO顺序的使用
2019/11/11 Python
python不同系统中打开方法
2020/06/23 Python
Python Selenium实现无可视化界面过程解析
2020/08/25 Python
python 中的9个实用技巧,助你提高开发效率
2020/08/30 Python
巧用HTML5给按钮背景设计不同的动画简单实例
2016/08/09 HTML / CSS
详解HTML5中的拖放事件(Drag 和 drop)
2016/11/14 HTML / CSS
德国EGOIST网店:销售畅销的设计师品牌
2017/04/18 全球购物
Marlies Dekkers内衣美国官方网上商店:高端内衣品牌
2018/11/12 全球购物
高中课前三分钟演讲稿
2014/08/18 职场文书
离婚协议书范本及离婚须知
2014/10/15 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
写给老婆的保证书
2015/02/27 职场文书
公司晚宴祝酒词
2015/08/11 职场文书
oracle通过存储过程上传list保存功能
2021/05/12 Oracle
SpringBoot整合MongoDB的实现步骤
2021/06/23 MongoDB