Gog1nA
Gog1nA

Reputation: 396

Java @Pathparam with POST Method

I have to make request with only one parameter for example:

example.com/confirm/{unique-id-value}

I don't expect to get any data in body, only interested in Response Code.

Need advice which method to use GET or POST

GET i think is also OK because, making request with pathparam, but on the other hand POST is also right to use, because i don't expect to receive any data from body, just making informative request and interested in only status code of request result.

Upvotes: 0

Views: 1033

Answers (2)

user9455968
user9455968

Reputation:

The confirm suggests that a request to this URL will change some state on a server by 'confirming' some 'task' that is identified by a unique ID. So we talk about the Reource (the R in REST) of a 'task confirmation'. A GET request will get the current state of such a Resource. GET must not have side effects like changing the state of the 'task confirmation' resource. If it is unconfirmed before a GET request, it must be unconfirmed after such a request.

If you want to change the state of the 'task confirmation' Resource, you must use a different HTTP verb. But since you write that you will not pass any request body, it is hard to recommend a RESTful approach.

Upvotes: 1

Alex Savitsky
Alex Savitsky

Reputation: 2371

One disadvantage of using GET is that its response is often cached, so if you inquire about the same ID repeatedly, you might not get the results you expect, unless you do some shenanigans to prevent caching (such as appending a unique timestamp to the GET URL for every request). POST requests, on the other hand, are never cached, so you would get the correct result every time without any additional work.

Upvotes: 1

Related Questions