RESTful URI设计
我正在寻找一种正确的方式来将搜索表示为RESTful URI。
我有两个模型:国家和州,各国有一个国家的集合。
代表搜索具有ID或名称属性的国家/地区的正确方法是什么?
api/countries/1/id
api/countries/Italy/name
要么
api/countries?id=1
api/countries?name=Italy
另外,如果我想查看状态列表?
api/countries/1/id/states
api/countries/Italy/name/states
谢谢
对于这两个模型即。 countries
和states
,我认为遵循Uri模式将是最合适的。
api/country
api/country/{England}
api/country/{England}/State
api/country/{England}/State/{Berkshire}
在上面的例子中{}
里面的值代表变量。
这取决于你的口味。 两种变体都可以。
对于状态,可以创建新的端点
api/states/name/Italy
您的方法,在REST URL中使用名称是错误的。 这个名字只是国家的一个属性,而不是一个子资源,这意味着你不应该在URL中看到它。 然而,一个选项可以用作键,在这种情况下,名称的值可以用来代替ID。
api/countries/Italy
我认为你想实现的目标是过滤字段,即只获取名称:
api/countries/Italy/states?fields=name
或者,如果您预先定义了某些格式
api/countries/Italy/states?format=onlyName
链接地址: http://www.djcxy.com/p/40957.html
上一篇: RESTful URI design