如何为Spring Data Rest分离PATCH和PUT Swagger文档?

时间:2019-11-19 19:02:16

标签: spring-boot swagger springfox

我使用Spring Data Rest + Springfox(swagger)。我想分别为PATCH和PUT提供文档,但它们都映射到一个函数调用:

@RepositoryRestResource
public interface OrderRepository extends JpaRepository<Order, Long> {

    @ApiOperation(value = "Create new order")
    Order save(Order order);

}

如何将其分为两个函数调用?我没有控制器,因为SDR会生成它。

1 个答案:

答案 0 :(得分:0)

如果每个请求方法需要两个不同的API文档,那么您还需要两个单独的端点。使用接口的默认方法功能来启用所需的功能。

@RepositoryRestResource
public interface OrderRepository extends JpaRepository<Order, Long> {

    // this method is hidden for Swagger
    Order save(Order order);

    @PatchMapping
    @ApiOperation(value = "Partialy modify order")
    default Order modify(Order order) {
        return save(order); 
    }

    @PutMapping
    @ApiOperation(value = "Create new or replace existing order")
    default Order update(Order order) {
        return save(order); 
    }
}