将 @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 接受 PathParamdelete 团队名称。这是一个 PUT 电话。 我的问题是 -

  1. 在 PUT 调用中使用 @PathParams 是一种好习惯吗?

  2. 优缺点是什么

可以在任何类型的 RESTful API 资源处理程序中使用 PathParam。但是,PUT 方法不适合这里,因为它违反了基本的 REST 原则。

REST 假定特定的 HTTP 方法(如 PUT、GET、DELETE、POST)对应于需要对数据执行的特定操作。 比如你要取回数据,就需要用GET,而DELETE就是你要删除的数据。

在你的具体情况下,我会选择类似

的东西
DELETE /teams/{teamName}

我建议您至少 Use RESTful URLs and actions 能够更好地理解基本的 REST 原则。