我正在创建一个REST服务,我有以下API -
@PUT
@Path("/delete/{teamName}")
@Consumes(MediaType.TEXT_PLAIN)
@Produces(MediaType.TEXT_PLAIN)
public Response delete(@PathParam("teamName")String teamName) {
if (db.delete(teamName)) {
return Response.status(200).build();
}
return Response.status(400).build();
}
此API接受PathParam
到delete
个团队名称。这是PUT
电话。
我的问题是 -
在PUT电话中使用@PathParams
是一种好习惯吗?
有哪些优点和缺点?
答案 0 :(得分:1)
在任何类型的RESTful API资源处理程序中使用PathParam
都可以。但是,PUT方法不适用于此,因为它打破了基本的REST原则。
REST假设特定的HTTP方法(如PUT,GET,DELETE,POST)对应于需要对数据执行的特定操作。 例如,如果要检索数据,则需要使用GET,而DELETE是删除数据所需的。
在你的特定情况下,我会选择像
这样的东西DELETE /teams/{teamName}
我建议您至少承认Use RESTful URLs and actions以便更好地了解基本的REST原则。