【发布时间】:2017-01-18 07:15:57
【问题描述】:
鉴于我需要返回应用程序中不同对象的计数,我应该如何设计我的 rest api 有一个问题。有多种方法可以考虑
定义一个通常接受请求正文 (json) 中的对象标识符并返回响应中每个对象标识符的计数的 api。缺点是 api 太通用了,因为没有资源,所以可能不够安静。该网址看起来像 GET /counts
为需要计数的每个资源定义单独的 api。假设我需要返回软件、表、流程、任务、作业等中定义的字段的计数,我将为这些资源中的每一个定义单独的 api。它看起来像 GET /field/count 或 GET /table/count。这样做的一个副作用是,我们需要计算的每个资源都会有许多 web api。这很糟糕吗?
请分享您对上述方法以及我可以设计符合 REST 标准的 API 的任何新方法的想法。
谢谢
【问题讨论】:
-
为什么要使用不同的 API 进行计数?什么是计数数据的驱动力?如果它是用于 UI - 一次只有一个?还是所有信息都应该同时提供?
-
据我所知,并不存在完全的“REST 标准”,“RESTful URL”的概念几乎是一个主观问题。核心 REST WS 原则主要关注其他事情,其中包括正确使用 HTTP 并提供理论上可以允许自动进程“理解”资源和 API 的信息(这在常见的“restful”接口中很少实现)。话虽如此,我会选择第二个变体,因为它更自然(即资源是有区别的) - 但是如果你的资源是“计数”,那么第一个也可以工作。
-
是的,一次返回所有信息会更好。网址应该是什么样的? “算作资源”是什么意思?还有其他方法吗?
标签: rest api-design