我有以下Url,它返回资源列表:
我还实现了一个返回特定资源的方法(在本例中为资源142)。
http://example.com/resources/142
我想添加一个超出典型HTTP方法的方法:List,Create,Retrieve,Replace,Update。要遵循的模式是什么?在我的具体情况下,我需要检查资源的可用性。 Url将如何显示(http://example.com/resources/checkavailability/142)?
我只是简单地使用GET方法并将该信息作为返回对象的一部分进行检索。但是,我的一些同事认为这样做效率不高(传输的数据要比返回真/假的数据大得多)。
感谢您的帮助!
答案 0 :(得分:3)
不需要资源来检查其他资源的可用性,也不需要GET
请求,HEAD
请求就足够了,这与{ {1}}请求但不转移正文。然后,您可以查看返回代码,并通过这些确定资源是否可用。这是假设您已正确实现返回代码。
答案 1 :(得分:1)
Restful over HTTP为您提供统一的界面,您通常不需要对URL中的操作进行编码
关于使用GET返回有效负载的提及/检查可用性,效率低下是一个有效的原因,因此请使用HEAD(它只返回响应头)。
request:
HEAD /resources/123
response status:
404 Not Found: equals to /checkavailability == false
200 OK: equals to /checkavailability == true
其他建议统一界面替换: