如何使 jax-rs 端点接受任何类型的 http 请求?
How to make a jax-rs end point accept any type of http request?
标题说明了一切。
是否有任何请求类型注释可以做到这一点?
或者用@POST、@GET 等所有必需的类型注释方法是否足够?
简答:
是的,您可以使用 @OPTIONS
、@HEAD
、@GET
、@POST
、@PUT
、@DELETE
和应在所有这些方法上调用资源方法。
长答案:
你不应该!每个 HTTP 方法都有它的语义。 @GET
是 'safe' 方法,因为它用于读取资源。例如 @POST
和 @DELETE
是 'unsafe' 因为它们改变了资源的状态。
网络之所以有效,是因为人们遵守这些规则。网络爬虫知道他可以安全地对他知道的每个 URI 执行 @GET
。他绝不会在 URI 上做 @DELETE
。如果您的方法更改了 @GET
上的某些内容,您可能会遇到问题。
在此处找到更多不应该的答案:。
标题说明了一切。
是否有任何请求类型注释可以做到这一点?
或者用@POST、@GET 等所有必需的类型注释方法是否足够?
简答:
是的,您可以使用 @OPTIONS
、@HEAD
、@GET
、@POST
、@PUT
、@DELETE
和应在所有这些方法上调用资源方法。
长答案:
你不应该!每个 HTTP 方法都有它的语义。 @GET
是 'safe' 方法,因为它用于读取资源。例如 @POST
和 @DELETE
是 'unsafe' 因为它们改变了资源的状态。
网络之所以有效,是因为人们遵守这些规则。网络爬虫知道他可以安全地对他知道的每个 URI 执行 @GET
。他绝不会在 URI 上做 @DELETE
。如果您的方法更改了 @GET
上的某些内容,您可能会遇到问题。
在此处找到更多不应该的答案: