欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

swagger如何返回map字段注释

程序员文章站 2022-03-03 16:23:24
1.效果图如下:2.controller层代码: import java.util.hashmap;import java.util.map; import org.springframework.s...

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字段注释

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