将 @PathParams 与 PUT REST Api 一起使用
Use @PathParams with PUT REST Api
我正在创建一个 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
是一种好习惯吗?
优缺点是什么
可以在任何类型的 RESTful API 资源处理程序中使用 PathParam
。但是,PUT 方法不适合这里,因为它违反了基本的 REST 原则。
REST 假定特定的 HTTP 方法(如 PUT、GET、DELETE、POST)对应于需要对数据执行的特定操作。
比如你要取回数据,就需要用GET,而DELETE就是你要删除的数据。
在你的具体情况下,我会选择类似
的东西
DELETE /teams/{teamName}
我建议您至少 Use RESTful URLs and actions 能够更好地理解基本的 REST 原则。
我正在创建一个 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
是一种好习惯吗?优缺点是什么
可以在任何类型的 RESTful API 资源处理程序中使用 PathParam
。但是,PUT 方法不适合这里,因为它违反了基本的 REST 原则。
REST 假定特定的 HTTP 方法(如 PUT、GET、DELETE、POST)对应于需要对数据执行的特定操作。 比如你要取回数据,就需要用GET,而DELETE就是你要删除的数据。
在你的具体情况下,我会选择类似
的东西DELETE /teams/{teamName}
我建议您至少 Use RESTful URLs and actions 能够更好地理解基本的 REST 原则。