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-11SpringBoot使用MockMvc測試get和post接口的示例代碼
Spring Boot MockMvc是一個用于單元測試的模塊,它是Spring框架的一部分,專注于簡化Web應用程序的測試,MockMvc主要用來模擬一個完整的HTTP請求-響應生命周期,本文給大家介紹了SpringBoot使用MockMvc測試get和post接口,需要的朋友可以參考下2024-06-06java讀取文件內(nèi)容的三種方法代碼片斷分享(java文件操作)
本文介紹java讀取文件內(nèi)容的三種方法,代碼可以直接放到程序中使用,大家參考使用吧2014-01-01Springcloud-nacos實現(xiàn)配置和注冊中心的方法
這篇文章主要介紹了Springcloud-nacos實現(xiàn)配置和注冊中心的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-07-07Tornadofx學習筆記之IconTextFx開源庫整合5000+個字體圖標
這篇文章主要介紹了Tornadofx學習筆記之IconTextFx開源庫整合5000+個字體圖標的相關(guān)知識,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12