使用POST方法的Java @Pathparam

时间:2018-03-19 14:49:31

标签: java rest

我必须只使用一个参数发出请求,例如:

  

example.com/confirm/ {唯一ID值}

我不希望获得正文中的任何数据,只对响应代码感兴趣。

需要建议使用哪种方法来使用GET或POST

GET我认为也可以,因为用pathparam提出请求,但另一方面POST也是正确使用,因为我不希望从身体接收任何数据,只是提出信息请求并感兴趣只有请求结果的状态代码。

2 个答案:

答案 0 :(得分:1)

使用GET的一个缺点是它的响应经常被缓存,所以如果你反复询问相同的ID,你可能得不到你期望的结果,除非你做了一些恶作剧以防止缓存(例如附加一个唯一的时间戳)到每个请求的GET URL)。另一方面,POST请求永远不会被缓存,因此您每次都可以获得正确的结果而无需任何额外的工作。

答案 1 :(得分:1)

confirm表示对此URL的请求将通过“确认”由唯一ID标识的某个“任务”来更改服务器上的某些状态。所以我们讨论“任务确认”中的Reource(REST中的R)。 GET请求将获得此类资源的当前状态。 GET不得有副作用,例如更改“任务确认”资源的状态。如果在GET请求之前未经确认,则必须在此类请求后进行未确认。

如果要更改“任务确认”资源的状态,则必须使用其他HTTP谓词。但是既然你写了你不会传递任何请求体,那么很难推荐RESTful方法。