Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring mvc spring mvc swagger如何在swagger ui中隐藏模型属性?_Spring Mvc_Hide_Swagger - Fatal编程技术网

Spring mvc spring mvc swagger如何在swagger ui中隐藏模型属性?

Spring mvc spring mvc swagger如何在swagger ui中隐藏模型属性?,spring-mvc,hide,swagger,Spring Mvc,Hide,Swagger,我们正在使用swagger SpringMVCPlugin生成swagger文档,如下所示 @Bean public SwaggerSpringMvcPlugin swaggerSpringMvcPlugin(SpringSwaggerConfig springSwaggerConfig) { log.debug("Starting Swagger"); StopWatch watch = new StopWatch(); watch.st

我们正在使用swagger SpringMVCPlugin生成swagger文档,如下所示

@Bean
    public SwaggerSpringMvcPlugin swaggerSpringMvcPlugin(SpringSwaggerConfig springSwaggerConfig) {
        log.debug("Starting Swagger");
        StopWatch watch = new StopWatch();
        watch.start();
        SwaggerSpringMvcPlugin swaggerSpringMvcPlugin = new SwaggerSpringMvcPlugin(springSwaggerConfig)
            .apiInfo(apiInfo())
            .genericModelSubstitutes(ResponseEntity.class)
            .includePatterns(DEFAULT_INCLUDE_PATTERN);

        swaggerSpringMvcPlugin.build();
        watch.stop();
        log.debug("Started Swagger in {} ms", watch.getTotalTimeMillis());
        return swaggerSpringMvcPlugin;
    }
我需要排除一些模型属性,如下所示。我尝试使用@ApiModelProperty(access=“hidden”,hidden=true),但没有排除它们。请注意,将显示MyModel的所有属性,包括状态字段。谢谢你的帮助

public class MyModel implements Serializable {
....

    @ApiModelProperty(access="hidden", hidden=true)
    @Column(name = "status")
    private String status;
...
}

假设您不想显示此属性或允许通过序列化对其进行编辑,我建议只添加

@JsonIgnore 
bean属性上的Jackson2注释将告诉模型生成从生成中排除该属性

另外,请记住,注释需要放置在getter或字段上的bean上,具体取决于ObjectMapper序列化/反序列化的配置方式

如果您只是想从swagger ui中隐藏该字段,并允许对该字段进行修改/序列化,那么目前不可能这样做。然而,我们计划让这成为可能

您只需使用

public class MyModel implements Serializable {
    @ApiModelProperty(hidden=true)
    private String status;
}

删除注释@ApiModelProperty怎么样?删除注释@ApiModelProperty不起作用谢谢你的回复。我们不想从Swagger UI管理该字段,因为它是由应用程序内部管理的,但我们需要在Json响应中向UI显示该字段。