如何使用Restful Web服务运动衫删除资源?

时间:2013-12-23 13:51:38

标签: java web-services rest jersey

我正在使用Jersey Restful webservices。我有以下网络方法来获得结果。

@Path("/persons")
public class PersonWS {
    private final static Logger logger = LoggerFactory.getLogger(PersonWS.class);

    @Autowired
    private PersonService personService;

    @GET
    @Path("/{id}")
    @Produces({MediaType.APPLICATION_XML})
    public Person fetchPerson(@PathParam("id") Integer id) {
        return personService.fetchPerson(id);
    }

}

同样,如何通过 id 编写 webmethod来删除资源?

谢谢!

3 个答案:

答案 0 :(得分:1)

您可以使用以下内容:

 @DELETE
    @Path("/{id}") 
    public void deletePerson(@PathParam("id") Integer id) {
        personService.deletePerson(id);
    }

答案 1 :(得分:0)

像这样的东西

@DELETE
@Path("/{id}")
public void deletePerson(@PathParam("id") Integer id) {
    ...
}

使用正确的http状态代码

  
    

9.7删除

         

如果响应包括描述状态的实体,则成功响应应为200(OK),如果操作尚未执行,则应为202(已接受);如果已执行操作但响应为204(无内容)不包括实体。

  

更多信息:3.1.2. @GET, @PUT, @POST, @DELETE, ... (HTTP Methods)

答案 2 :(得分:0)

你可以创建一个用@DELETE注释的删除方法,并在传递id的其余客户端中使用delete http方法调用它。检查下面的delete方法以供参考,你可以根据你的要求进行更改。

 @DELETE
 @Path("/{id}")
 @Produces(MediaType.TEXT_PLAIN)
 public String deletePerson(@PathParam("id") Integer id) {

      //Your delete logic goes here

        return "Successfully deleted person info";
    }