gpt4 book ai didi

spring - 在 REST 中,我们如何处理返回资源集合的多种方式?

转载 作者:行者123 更新时间:2023-12-04 16:22:54 26 4
gpt4 key购买 nike

我们有一个名为 messages 的资源。我们希望有两种列出其收藏的方式。一种是只返回必填且已被查看的消息;另一个,所有的消息。每个都有另一个不需要的字段,因此我们不想返回它们。例如

一个响应应该是这样的:

public class MessageListingResponse {
private Long messageId;
private String title;
private String imageUrl;
private LocalDateTime createdAt;
private Boolean isViewed;
}

另外一个是这样的:

public class MandatoryMessageListingResponse {
private Long messageId;
private String title;
private String imageUrl;
private LocalDateTime createdAt;
private String description;
}

我找不到这种情况的通用规则。那么,REST 之后是哪个选项?

  • /messages/mandatories
  • /messages?view=mandatories
  • /messages?mandatoryListing=true
  • /mandatory-messages

最佳答案

I could not find a common rule for this scenario. So, which option follows REST?

REST不关心您为资源标识符使用的拼写约定。

特别是,机器不关心标识符的拼写是否与资源的语义匹配(提醒:URL 缩短器work)

/messages/mandatories
/messages?view=mandatories
/messages?mandatoryListing=true
/mandatory-messages

这些都很好

有一些纯粹的机械差异;使用 HTML 表单作为 URI 模板时,带有键值对的查询很方便。当使用点段和相对分辨率来描述同一层次结构中的其他标识符时,路径层次结构很方便。

标识符作为文本显示在许多地方 - 我们将 URI 粘贴到消息中,它们在浏览器历史记录中被跟踪,它们出现在您的访问日志中。所以我们有很多不同的人在不同的上下文中查看标识符。尝试选择对所有人都可以容忍的拼写;但尽你所能优化最重要的体验。

关于spring - 在 REST 中,我们如何处理返回资源集合的多种方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70067391/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com