GET vs POST在休息时发送一些参数

时间:2015-02-20 06:13:00

标签: java rest post get jersey-2.0

我需要公开一个需要4个参数的rest api,截至目前。我有两个选择:

1) GET request with 4 query params  
2) POST request with an Object passed that encapsulates 4 parameters.

如果我使用case 1),那么如果将来需要发送更多参数,那么随着查询参数的增加会使URL变得冗长。如果我使用case 2),则会违反休息准则,因为POST仅用于创建/更新。

请告诉我这种情况下最好的方法。

2 个答案:

答案 0 :(得分:0)

如果您需要传递长参数或二进制参数,您通常会使用HTTP POST请求,并在POST正文中包含参数。

通常,GET请求应该是只读查询;他们不应该改变服务器及其数据的状态。要创建,更新和删除数据,请使用POST请求。 (当需要复杂参数时,POST也可用于只读查询。)

参考:http://rest.elkstein.org/2008/02/more-complex-rest-requests.html

此外,您可以在此处参考:What is the best way to design a HTTP request when somewhat complex parameters are needed?

答案 1 :(得分:0)

过滤参数也可以作为标题参数在get请求中发送。

此外,如果有必要发送更多请求参数不会造成伤害。