swagger如何返回map字段注釋
1.效果圖如下:

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.用戶實(shí)體的代碼:
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value="登錄成功后返回的個(gè)人信息")
@Data
public class User {
@ApiModelProperty(value="用戶名")
private String userName;//用戶名
@ApiModelProperty(value="密碼")
private String password;//用戶名
}
4.關(guān)鍵點(diǎn):

接口 Swagger 顯示返回模型的注釋
mark:環(huán)境看之前文章
目的:web api controller 調(diào)用 asp.net mvc controller,讓swagger里面的返回模型支持注釋
關(guān)鍵:對返回消息類的封裝,返回?cái)?shù)據(jù)為泛型,swagger就能顯示model的注釋了
JsonMsg
/// <summary>
/// 返回消息
/// </summary>
public class JsonMsg<T> where T : class
{
/// <summary>
/// 狀態(tài)碼
/// </summary>
public int code { get; set; }
/// <summary>
/// 消息
/// </summary>
public string msg { get; set; }
/// <summary>
/// 內(nèi)容
/// </summary>
public T obj { get; set; }
/// <summary>
/// 圖標(biāo)
/// </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);
}
效果



以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
如何將Java與C#時(shí)間進(jìn)行互相轉(zhuǎn)換
這篇文章主要介紹了Java與C#時(shí)間互轉(zhuǎn)的方法以及JAVA日期、C#日期計(jì)算說明,需要的朋友可以參考下2022-11-11
Java中的static關(guān)鍵字用法總結(jié)
這篇文章主要介紹了Java中的static關(guān)鍵字用法總結(jié),static是Java50個(gè)關(guān)鍵字之一,static關(guān)鍵字可以用來修飾代碼塊表示靜態(tài)代碼塊,修飾成員變量表示全局靜態(tài)成員變量,修飾方法表示靜態(tài)方法,需要的朋友可以參考下2023-11-11
關(guān)于Spring?@Transactional事務(wù)傳播機(jī)制詳解
我們?nèi)粘9ぷ髦袠O少使用事務(wù)傳播級別,單純只是使用事務(wù)和rollbackfor拋出異常來解決事務(wù)問題,但其實(shí)我們很多時(shí)候使用的是不正確的,或者說會造成事務(wù)粒度過大,本文詳解一下事務(wù)傳播級別,也讓自己更好地處理事務(wù)問題,需要的朋友可以參考下2023-08-08
Java之Springcloud Gateway內(nèi)置路由案例講解
這篇文章主要介紹了Java之Springcloud Gateway內(nèi)置路由案例講解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
Springboot+Thymeleaf+Jpa實(shí)現(xiàn)登錄功能(附源碼)
最近有學(xué)習(xí)到關(guān)于Springboot+Thymeleaf+Jpa的綜合運(yùn)用知識,因此想寫一個(gè)簡單的登錄界面來嘗試一下,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
maven配置阿里云倉庫的實(shí)現(xiàn)方法(2022年)
本文主要介紹了maven配置阿里云倉庫的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03

