How to tell Swagger an attribute is a Map(如何告诉 Swagger 一个属性是一个 Map)
问题描述
我正在与 Jersey 开发一项宁静的服务.但是,我正在使用 Swagger 作为文档.我的模型具有地图类型的属性.Swagger 将这个属性显示为一个 Object(不是特定类型).那么如何告诉 Swagger 这个属性来自 Map 类型呢?
I am developing a restful service with Jersey. However, I am using Swagger for documentation. My Model has a property with Type of Map. Swagger shows that this attribute as an Object (not a specific type). So how can I tell Swagger that this property is from type Map ?
public class Model {
private String name;
private Map<Integer, String> myMap;
public Model(){
super();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Map<Integer, String> getMyMap() {
return myMap;
}
public void setMyMap(Map<Integer, String> myMap) {
this.myMap = myMap;
}
}
宁静的服务:
@POST
@Path("/createBundle")
@Consumes({MediaType.APPLICATION_JSON})
@ApiOperation(value = "Create Bundle ",
notes = "",
response = Model.class)
public Model createBundle(Bundle bundle){
return new Model();
}
我需要 Swagger 将其显示为 Map
的类型.
I need Swagger to show it as type of Map<Integer, String>
.
Swagger 将文档显示为此图像.
Swagger shows the documentation as this image.
推荐答案
可以在@ApiOperation
注解中设置响应类型:
You can set a response type in the @ApiOperation
annotation:
@ApiOperation(value = "Find thingies as Map",
notes = "Multiple thingies can be returned, <code>id</code> is the ID field",
response = java.util.Map.class)
这篇关于如何告诉 Swagger 一个属性是一个 Map的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何告诉 Swagger 一个属性是一个 Map
基础教程推荐
- 由于对所需库 rt.jar 的限制,对类的访问限制? 2022-01-01
- Spring Boot Freemarker从2.2.0升级失败 2022-01-01
- 如何对 HashSet 进行排序? 2022-01-01
- 如何使用 Eclipse 检查调试符号状态? 2022-01-01
- 如何使用 Stream 在集合中拆分奇数和偶数以及两者的总和 2022-01-01
- 如何在不安装整个 WTP 包的情况下将 Tomcat 8 添加到 Eclipse Kepler 2022-01-01
- 在螺旋中写一个字符串 2022-01-01
- 首次使用 Hadoop,MapReduce Job 不运行 Reduce Phase 2022-01-01
- Java 中保存最后 N 个元素的大小受限队列 2022-01-01
- 如何强制对超级方法进行多态调用? 2022-01-01