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

问题描述 投票:0回答:1

我使用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会生成它。

spring-boot swagger springfox
1个回答
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); 
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.