restful web服务中的url
本文关键字:url 服务 web restful | 更新日期: 2023-09-27 18:08:12
我读过这本电子书,我读到你应该尽量限制自己使用两个基本url。如果你有测验资源你会有/quizes
和/quizes/{id}
。然后使用HTTP动词进行操作。但是,当您尝试遵循此模式时,您如何从服务器获得动态随机问题的测验?
我想到了/quizes?type=random
,但是假设您希望type属性是可选的,默认为随机,并且您已经使用/quizes
路径列出所有保存的测试。
创建/quizes/generate?type=random
路径并没有遵循建议,我也不认为生成术语适合,因为它是一个动词。
和路径,如/quizes
"保留"返回集合(我知道REST不是一个规范),或者它是完全合法的使用/quizes
生成测验服务器端并返回它?
/quizzes
应该做的是为您提供一个URL列表,让您访问不同的测验,所以假设您已经定义了/quizzes
返回的媒体类型是JSON,像这样(可能是application/json+quiz
这样的特定类型):
{
quizzes = [
{ description: "Quiz 1", url: "/quizzes/1" },
{ description: "Quiz 2", url: "/quizzes/2" }
]
}
所以你可以有一个条目,让你访问一个随机测验,它可以是这样的:
{
quizzes = [
{ description: "Quiz 1", url: "/quizzes/1" },
{ description: "Quiz 2", url: "/quizzes/2" },
{ description: "Random", url: "/quizzes/random" },
]
}
这个想法是有一个REST端点,所有后续的URL都是通过语义媒体类型发现的。因此,如果您的媒体类型指定将有一个描述为Random
的条目,该条目将为您提供随机测验,那么端点消费者可以使用它。