【问题标题】:Bulk create api with spring boot使用 Spring Boot 批量创建 API
【发布时间】:2018-02-11 01:31:30
【问题描述】:

我正在尝试提出创建端点的正确方法,该端点提供创建单个对象或对象列表的选项。 我正在使用 spring-boot 框架。如何提供具有相同端点的两个选项?并且使用相同的端点名称也是正确的方法吗?

谢谢!

@RequestMapping(value = "/persons", method = RequestMethod.POST)
public void save(@RequestBody() final Person person)

@RequestMapping(value = "/persons", method = RequestMethod.POST)
public void save(@RequestBody() final List<Person> persons)

【问题讨论】:

    标签: json spring rest spring-mvc spring-boot


    【解决方案1】:

    您可以将单个对象视为具有一个元素的列表,并保留该处理程序方法。虽然这对客户来说有点挑战,但如果他们不在乎,这是最简单的选择。否则,您可以将请求正文作为字符串接受并尝试确定它是单个对象还是列表并采取相应措施。

    【讨论】:

    • 我的意思是说这将是一种或另一种方法,但不是两者兼而有之。是的,可以使用一个列表,并且客户需要适应,但我想这是一个标准用例,必须有一个最佳实践。感谢您的帮助!
    • @SophianAchiba 没有“最佳实践”,因为它不是设计模式问题,而是一个简单的选择问题。有使用 URI 模式和 HTTP 动词和 RMM 的最佳实践,这些都与您的问题无关。 Martin Fowler 拥有最好的 REST API 设计资源之一。至于您的情况,集合可以像单个对象一样被视为资源,并且您的 POST 方法将在 Location 标头中返回新创建的 URI。不客气,
    猜你喜欢
    • 2020-11-12
    • 1970-01-01
    • 1970-01-01
    • 2018-05-17
    • 2021-08-13
    • 1970-01-01
    • 2016-06-05
    • 2019-02-09
    • 2018-11-14
    相关资源
    最近更新 更多