验证REST API的URL资源
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了验证REST API的URL资源相关的知识,希望对你有一定的参考价值。
鉴于以下网址:
http://localhost:port/books/[:id]
其中[:id]
代表书籍id。
检查id值是null还是空是否明智?
据我所知,每个网址都是唯一的,可以将用户带到特定的目的地。因此,甚至不需要验证[:id]
。
所以我要说我验证了[:id]。
我有另一个网址,可以列出所有书籍
http://localhost:port/books
这不是冲突吗?
答案
自打电话以来,它不会发生冲突
http://localhost:port/books/ # Notice the last slash
与...不同
http://localhost:port/books
它们将通过不同的控制器方法接收。
例如,在Java中:
@GET
@Path("/resources/{id}/")
public Resource getResource(@PathParam("id") long id);
@GET
@Path("/resources")
public List<Resource> getAllResources();
我们可以看到,第一种检索资源的方法映射在/resources/{id}
上。
另一方面,检索所有资源的第二种方法映射在/resources
上。这是API中的另一个终点。
如果使用空id
调用第一个方法,API将无法找到所请求的资源(因为它为null)。应该在后端以某种方式处理此NPE并返回对前端的相应响应。
你可以检查这个完整的guide about RESTful发展
以上是关于验证REST API的URL资源的主要内容,如果未能解决你的问题,请参考以下文章