Springboot摇摇车不能与JsonView一起使用

时间:2019-10-16 04:04:11

标签: jackson swagger swagger-ui springfox json-view

Swagger应该支持JsonView,但我无法使其正常工作。

这是我的版本:

<dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>2.9.2</version>
        <exclusions>
            <exclusion>
                <groupId>io.swagger</groupId>
                <artifactId>swagger-annotations</artifactId>
            </exclusion>
            <exclusion>
                <groupId>io.swagger</groupId>
                <artifactId>swagger-models</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>io.swagger</groupId>
        <artifactId>swagger-annotations</artifactId>
        <version>1.5.24</version>
    </dependency>
    <dependency>
        <groupId>io.swagger</groupId>
        <artifactId>swagger-models</artifactId>
        <version>1.5.24</version>
    </dependency>

这是我的模特:

@JsonView(View.WriteView.class)
    LocalDateTime serviceTime;
    String location;
    String serviceType;
    String assignee;
    String status;

这是我的控制人:

@ApiOperation(value = "Create a new order")
@PostMapping("/orders")
@ResponseStatus(HttpStatus.CREATED)
@JsonView({View.WriteView.class})
public Order createOrder(@Valid @RequestBody @JsonView(View.WriteView.class) Order order) {
    return orderRepository.save(order);
}

输入和输出均不起作用。这是我张扬的用户界面:

enter image description here enter image description here

我还验证了代码是否有效,调用REST API仅返回一个字段。

2 个答案:

答案 0 :(得分:0)

我在同一块板上,正在寻找答案。我正在考虑创建 DTO 对象,以防万一 JsonView 不起作用。

答案 1 :(得分:0)

3.0.0 版本支持 JsonView,请添加如下依赖:

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-boot-starter</artifactId>
            <version>3.0.0</version>
        </dependency>