我正在用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原则。
答案 0 :(得分:1)
如果您的参数值不是很长,那么使用查询字符串是您最好的选择。 6个参数并不是很多,只要你没有超过路径中字符的IE限制--2048(VMT)。例如,谷歌搜索引擎使用更多的参数然后6.如果URL路径有可能超过上述限制,则应使用POST。