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 将PPT幻灯片转为HTML文件的实现思路
Jun 11 Java/Android
springboot如何初始化执行sql语句
Jun 22 Java/Android
Spring boot应用启动后首次访问很慢的解决方案
Jun 23 Java/Android
Java多条件判断场景中规则执行器的设计
Jun 26 Java/Android
SpringBoot读取Resource下文件的4种方法
Jul 02 Java/Android
idea 在springboot中使用lombok插件的方法
Aug 02 Java/Android
spring cloud 配置中心客户端启动遇到的问题
Sep 25 Java/Android
Eclipse+Java+Swing+Mysql实现电影购票系统(详细代码)
Jan 18 Java/Android
Java实现学生管理系统(IO版)
Feb 24 Java/Android
Java 超详细讲解设计模式之中的抽象工厂模式
Mar 25 Java/Android
Qt数据库应用之实现图片转pdf
Jun 01 Java/Android
SpringBoot Http远程调用的方法
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
PHP模板引擎SMARTY
2006/10/09 PHP
如何使用PHP中的字符串函数
2006/11/24 PHP
一个简单的php加密解密函数(动态加密)
2013/06/19 PHP
php实现的后台表格分页功能示例
2017/10/23 PHP
JavaScript 指导方针
2007/04/05 Javascript
JQuery for与each性能比较分析
2013/05/14 Javascript
jQuery解决下拉框select设宽度时IE 6/7/8下option超出显示不全
2013/05/27 Javascript
jQuery响应enter键的实现思路
2014/04/18 Javascript
后台获取ZTREE选中节点的方法
2015/02/12 Javascript
超全面的JavaScript开发规范(推荐)
2017/01/21 Javascript
nodejs基础知识
2017/02/03 NodeJs
Vue响应式原理详解
2017/04/18 Javascript
收藏AngularJS中最重要的核心功能
2017/07/09 Javascript
微信小程序开发之好友列表字母列表跳转对应位置
2017/09/26 Javascript
javascript 通过键名获取键盘的keyCode方法
2017/12/31 Javascript
js判断传入时间和当前时间大小实例(超简单)
2018/01/11 Javascript
webstorm和.vue中es6语法报错的解决方法
2018/05/08 Javascript
nuxt中使用路由守卫的方法步骤
2019/01/27 Javascript
[02:35]DOTA2英雄基础教程 末日使者
2013/12/04 DOTA
[01:17:12]职来职往完美电竞专场
2014/09/18 DOTA
go和python调用其它程序并得到程序输出
2014/02/10 Python
Python简单实现网页内容抓取功能示例
2018/06/07 Python
python os用法总结
2018/06/08 Python
python散点图实例之随机漫步
2018/08/27 Python
Jupyter notebook快速入门教程(推荐)
2020/05/18 Python
Python基于smtplib模块发送邮件代码实例
2020/05/29 Python
python 窃取摄像头照片的实现示例
2021/01/08 Python
html5 拖拽及用 js 实现拖拽功能的示例代码
2020/10/23 HTML / CSS
国际象棋商店:The Chess Store
2018/07/09 全球购物
.net面试题
2015/12/22 面试题
公司领导班子对照检查材料
2014/09/24 职场文书
检讨书范文1000字
2015/01/28 职场文书
留学推荐信(中英文版)
2015/03/26 职场文书
2015年店长工作总结范文
2015/04/08 职场文书
SpringBoot 集成Redis 过程
2021/06/02 Redis
Ruby GDBM操作简介及数据存储原理
2022/04/19 Ruby