用于REST服务Java的GET请求的参数

时间:2015-09-13 10:06:42

标签: java rest http post get

我正在用Java创建一个REST服务,并对GET方法的params有疑问。 我必须在GET请求中传递以下参数

功能

" GET"档案状态:

PARAMS:

时间范围:(字符串)

流ID:(字符串)

ID_A =或ID_B =或两者(字符串)

IS_ADD_A =或IS_ADD_B =或两者(字符串)

的Regex =(字符串)

曲奇= XXXXX

因为有6个参数,所以将它作为查询字符串传递将不是一种有效的方式,但在体内是相同的(因为它与HTTP GET规范相反) 将此作为POST调用将违反REST原则,因为我想从服务器获取数据, 什么是解决这个问题的有效方法,将params作为查询字符串传递出来是不可能的,将其传递到违反HTTP规范的正文中,使其成为可能也不好的标题,使其成为POST请求将消除守备的REST原则。

1 个答案:

答案 0 :(得分:1)

如果您的参数值不是很长,那么使用查询字符串是您最好的选择。 6个参数并不是很多,只要你没有超过路径中字符的IE限制--2048(VMT)。例如,谷歌搜索引擎使用更多的参数然后6.如果URL路径有可能超过上述限制,则应使用POST。