3

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);
}

输入和输出都不起作用。这是我招摇的用户界面:

在此处输入图像描述 在此处输入图像描述

我还验证了代码确实有效,调用 REST API 只返回一个字段。

4

2 回答 2

0

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

于 2021-03-19T18:51:33.713 回答
0

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

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-boot-starter</artifactId>
            <version>3.0.0</version>
        </dependency>
于 2021-05-31T08:16:41.717 回答