gpt4 book ai didi

java - DELETE 方法 Jersey 中的 @Consumes 注解是必需的还是可选的

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:13:11 31 4
gpt4 key购买 nike

我是 jersey rest service 的新手,我想在此示例中了解将 @Consumes 注释添加到 delete 方法的实用程序,在这种情况下,这是运行良好的代码(在视频),@Consumes 注释在这里是可选的吗?提前致谢

 @path("activities")
public class ActivityResource {

@DELETE
@Path("{activityId}")
@Consumes(MediaType.APPLICATION_JSON)
@Produces({MediaType.APPLICATION_JSON,MediaType.APPLICATION_XML})
public Response delete(@PathParam("activityId")String activityId) {
activityRepository.delete(activityId);
return Response.ok().build() ;
}
}

最佳答案

Is the @Consumes annotation optional here ?

是的,我什至会说不需要它,因为您只有一个参数,它是一个 PathParam这意味着它将从路径中提取。

注解@Consumes用于指示 JAX-RS 实现如何动态地解析/反序列化请求的主体,以便将其作为更方便类型的参数。

例如:

@POST
@Consumes("application/xml")
public void registerUser(User user) {
...
}

在这个例子中,我们指出请求的主体是类型 application/xml ,JAX-RS 实现然后将正文的内容解析为 XML 以最终获得 User 的实例。 .

注意: 使用的 HTTP 方法对 @Consumes 是否有效没有影响。需要的,只需要解析正文即可。

关于java - DELETE 方法 Jersey 中的 @Consumes 注解是必需的还是可选的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40802507/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com