【问题标题】:How to document a POST (HTTP method) using ControllerLinkBuilder?如何使用 ControllerLinkBuilder 记录 POST(HTTP 方法)?
【发布时间】:2015-09-09 06:24:16
【问题描述】:

我使用 ControllerLinkBuilder 创建指向 Spring MVC 控制器列表的链接索引。
例如:

ResourceSupport 资源 = new ResourceSupport(); resource.add(linkTo(methodOn(ReactorController.class).sendmail(EventBody)).withRel(REACTOR_REL));

这会生成:

“反应堆”:[ { "href": "http://localhost:12345/main/reactor/sendmail" } ]

在示例中,这是预期的发送邮件的 POST! 记录 POST 的方法是什么?

【问题讨论】:

  • 恕我直言,我想 URI 应该反映预期的内容。有人可以启发我吗?

标签: spring-boot spring-hateoas


【解决方案1】:

当您提供链接时,您指向的资源是您的 API 用户可以操作的资源,而不是他们应该知道如何使用的功能。

https://spring.io/understanding/HATEOAS

最后一段适用于您的问题。

根据 Richardson 成熟度模型,HATEOAS 被认为是 REST 的最终级别。这意味着假定每个链接都实现了 GET、POST、PUT 和 DELETE(或子集)的标准 REST 动词。因此,提供如上所示的链接可为客户提供导航服务所需的信息。

所以在你的情况下,如果实现任何方法但发布没有意义,你可以让它们发布到/mail,你可以创建一个单独的文档(如 Swagger、Spring REST Docs)让他们知道你的实体格式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-31
    • 2011-10-21
    • 2017-01-11
    • 1970-01-01
    • 1970-01-01
    • 2016-02-09
    • 1970-01-01
    • 2020-07-31
    相关资源
    最近更新 更多