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)鍵:對(duì)返回消息類的封裝,返回?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)文章
使用Jenkins一鍵打包部署SpringBoot項(xiàng)目的步驟詳解
任何簡(jiǎn)單操作的背后,都有一套相當(dāng)復(fù)雜的機(jī)制,本文將以SpringBoot應(yīng)用的在Docker環(huán)境下的打包部署為例,詳細(xì)講解如何使用Jenkins一鍵打包部署SpringBoot應(yīng)用,文中通過圖文結(jié)合講解的非常詳細(xì),需要的朋友可以參考下2023-11-11SpringBoot使用MockMvc測(cè)試get和post接口的示例代碼
Spring Boot MockMvc是一個(gè)用于單元測(cè)試的模塊,它是Spring框架的一部分,專注于簡(jiǎn)化Web應(yīng)用程序的測(cè)試,MockMvc主要用來(lái)模擬一個(gè)完整的HTTP請(qǐng)求-響應(yīng)生命周期,本文給大家介紹了SpringBoot使用MockMvc測(cè)試get和post接口,需要的朋友可以參考下2024-06-06java讀取文件內(nèi)容的三種方法代碼片斷分享(java文件操作)
本文介紹java讀取文件內(nèi)容的三種方法,代碼可以直接放到程序中使用,大家參考使用吧2014-01-01Springcloud-nacos實(shí)現(xiàn)配置和注冊(cè)中心的方法
這篇文章主要介紹了Springcloud-nacos實(shí)現(xiàn)配置和注冊(cè)中心的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Java中LinkedList的模擬實(shí)現(xiàn)
本文主要介紹了Java中LinkedList的模擬實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06Tornadofx學(xué)習(xí)筆記之IconTextFx開源庫(kù)整合5000+個(gè)字體圖標(biāo)
這篇文章主要介紹了Tornadofx學(xué)習(xí)筆記之IconTextFx開源庫(kù)整合5000+個(gè)字體圖標(biāo)的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12