我正在设计一个前端来修改我正在开发的Web应用程序的设置。设置存储如下:
{
"site_title": "My Web Site",
"site_description_long": "Welcome to My Web Site! Lots of welcome text here!",
"site_description_short": "It's my site"
}
我是REST API的新手,所以我不知道如何继续。它不像其他资源,如用户和帖子,有很多对象。只有一个Settings对象具有无限数量的键和值。 /settings
返回单个对象是不好的做法?按名称访问它并只返回/settings/site_title
之类的字符串是不好的做法吗?当客户端只能缓存客户端的整个设置对象时,这甚至是必要的吗?
答案 0 :(得分:4)
一种选择是将每个设置视为自己的资源。
GET /settings/
{
settings: [
{ "id":"site_title" , "value":"My Web Site" },
{ "id":"site_description_short" , "value":"It's my site" },
]
}
GET /settings/site_title
{
"id":"site_title",
"value":"My Web Site"
}
这种方法是RESTful,但会导致很多服务器命中。我认为使用你描述的单个对象并不是不合理的,尽管如果你有500个设置,处理它会变得很痛苦。