将@PathParams与PUT REST Api一起使用

时间:2017-08-07 06:22:14

标签: java rest put

我正在创建一个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. 有哪些优点和缺点?

1 个答案:

答案 0 :(得分:1)

在任何类型的RESTful API资源处理程序中使用PathParam都可以。但是,PUT方法不适用于此,因为它打破了基本的REST原则。

REST假设特定的HTTP方法(如PUT,GET,DELETE,POST)对应于需要对数据执行的特定操作。 例如,如果要检索数据,则需要使用GET,而DELETE是删除数据所需的。

在你的特定情况下,我会选择像

这样的东西
DELETE /teams/{teamName}

我建议您至少承认Use RESTful URLs and actions以便更好地了解基本的REST原则。