繁体   English   中英

如何告诉Swagger属性是Map

[英]How to tell Swagger an attribute is a Map

我正在与Jersey一起提供宁静的服务。 但是,我正在使用Swagger进行文档编制。 我的模型具有地图类型的属性。 Swagger显示此属性为Object(不是特定类型)。 那么,如何告诉Swagger此属性来自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<Integer, String>

Swagger将文档显示为此图像。 在此输入图像描述

您可以在@ApiOperation批注中设置响应类型:

@ApiOperation(value = "Find thingies as Map",
    notes = "Multiple thingies can be returned, <code>id</code> is the ID field",
    response = java.util.Map.class)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM