【问题标题】:How to separate PATCH and PUT swagger documentation for Spring Data Rest?如何为 Spring Data Rest 分离 PATCH 和 PUT swagger 文档?
【发布时间】:2019-11-19 19:02:16
【问题描述】:

我使用 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】:

    如果您需要为每个请求方法提供两个不同的 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); 
        }
    }
    

    【讨论】:

    • 刚试过这个,没用。 PUT/PATCH/POST 仍然都链接到相同的招摇文档
    猜你喜欢
    • 1970-01-01
    • 2018-01-08
    • 1970-01-01
    • 2019-04-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-24
    • 2017-03-14
    • 2016-03-05
    相关资源
    最近更新 更多