【问题标题】:HATEOAS: Should the server accept the hypermedia links in request payloadHATEOAS:服务器是否应该接受请求有效负载中的超媒体链接
【发布时间】:2016-11-03 03:57:21
【问题描述】:

因此,我们在实现我们的 restful api 时采用了与 HATEOAS 类似的标准。我们在响应中提供链接,以允许客户导航或执行某些操作。现在的问题是,

如果客户端想要使用此响应,请更改资源的某些属性并将其发布回服务器以进行更新,同时不清理响应中提供的超媒体链接。服务器应该接受这个请求有效载荷并忽略请求有效载荷中的超媒体链接,还是应该不允许客户端发送这样的有效载荷?

我们唯一担心的是,如果有效负载非常大并且客户端只对几个属性进行更改,那么就会听到性能问题,但相反的论点是客户端需要清理响应以使后续请求。

您能否就最佳做法提出建议?

谢谢

【问题讨论】:

    标签: web-services rest web-applications hateoas json-api


    【解决方案1】:

    客户端应该只发布数据,而不是元数据(超媒体链接)——这仅由服务器处理。也不清楚您所说的“清理”是什么意思 - 链接是由服务器构建的,客户端的唯一职责是使用它们并处理各种响应和 http 状态代码。

    另外,如果您对部分更新感兴趣,您应该查看PATCH 动词。

    【讨论】:

    • 您好,感谢您的回复。我所说的消毒的意思是我们的反应非常大,并且有很多超媒体链接。因此,如果客户端只希望更改几个值并将其发回,服务器是否应该接受它并忽略请求中的超媒体链接?还是客户端假设处理整个响应并删除每个超媒体或从头开始创建完整请求?
    猜你喜欢
    • 2015-01-23
    • 2016-08-06
    • 2020-04-05
    • 1970-01-01
    • 1970-01-01
    • 2022-12-25
    • 1970-01-01
    • 1970-01-01
    • 2015-01-07
    相关资源
    最近更新 更多