编程语言
首页 > 编程语言> > java – 为什么我们需要@ PUT,@ POST @DELETE注释?我的代码没有它们

java – 为什么我们需要@ PUT,@ POST @DELETE注释?我的代码没有它们

作者:互联网

我有使用@PUT,@ POP注释的方法.没有这些注释,这些方法效果很好.那么这些注释需要什么?

@GET    
@Path ("/{stockId}")
@Produces("application/xml")
public StockDetail search(@PathParam("stockId") Integer stockId) {

    final String methodName="search";
    mLogger.debug(mClassName+"::" +methodName+"::Entered");
    StockDetail stockDetails=null;
    try {

         stockDetails = mStockBean.retrieve(stockId);
    } catch(Exception exception) {

        mLogger.error("ClassName::" +mClassName+ "MethodName::" +methodName+"Error::"+exception.getMessage());
    }
    return stockDetails;
}

解决方法:

好吧,例如,这些注释允许您为不同的方法使用相同的路径:

@GET    
@Path ("/{stockId}")
@Produces("application/xml")

@PUT
@Path ("/{stockId}")
@Consumes("application/xml")

在这里,在相同的路径中,我们将有不同类型的请求.

UPD.根据评论我会注意到,如果我们有方法A()并且我们将它用于@GET与上面声明的web服务签名,那么我们使用它而没有任何参数(因为它不消耗任何请求体).对于第二个,我们将使用方法A(String body),因为我们使用一些实体来处理.

标签:java,jax-rs,resteasy
来源: https://codeday.me/bug/20190901/1785679.html