swagger如何返回map字段注釋
更新時間:2021年07月02日 17:08:56 作者:xingsfdz
這篇文章主要介紹了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.用戶實體的代碼:
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.關(guān)鍵點:

接口 Swagger 顯示返回模型的注釋
mark:環(huán)境看之前文章
目的:web api controller 調(diào)用 asp.net mvc controller,讓swagger里面的返回模型支持注釋
關(guān)鍵:對返回消息類的封裝,返回數(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>
/// 圖標
/// </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);
}
效果



以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用Jenkins一鍵打包部署SpringBoot項目的步驟詳解
任何簡單操作的背后,都有一套相當復雜的機制,本文將以SpringBoot應用的在Docker環(huán)境下的打包部署為例,詳細講解如何使用Jenkins一鍵打包部署SpringBoot應用,文中通過圖文結(jié)合講解的非常詳細,需要的朋友可以參考下2023-11-11
SpringBoot使用MockMvc測試get和post接口的示例代碼
Spring Boot MockMvc是一個用于單元測試的模塊,它是Spring框架的一部分,專注于簡化Web應用程序的測試,MockMvc主要用來模擬一個完整的HTTP請求-響應生命周期,本文給大家介紹了SpringBoot使用MockMvc測試get和post接口,需要的朋友可以參考下2024-06-06
java讀取文件內(nèi)容的三種方法代碼片斷分享(java文件操作)
本文介紹java讀取文件內(nèi)容的三種方法,代碼可以直接放到程序中使用,大家參考使用吧2014-01-01
Springcloud-nacos實現(xiàn)配置和注冊中心的方法
這篇文章主要介紹了Springcloud-nacos實現(xiàn)配置和注冊中心的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-07-07
Tornadofx學習筆記之IconTextFx開源庫整合5000+個字體圖標
這篇文章主要介紹了Tornadofx學習筆記之IconTextFx開源庫整合5000+個字體圖標的相關(guān)知識,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12

