当一些在URL中时,如何在Spring 3中处理POST参数?

时间:2011-09-19 11:38:01

标签: spring java-ee spring-mvc java-ee-6 java-ee-5

我通常会检索如下的POST参数:

@RequestMapping(method = RequestMethod.POST)
public ModelAndView create(
    @RequestParam(value = "first_name", required = false) String firstName,
    HttpServletRequest request
) {

但是如果某些参数在http://example.com/post/path?last_name=Smith这样的网址中呢?当RequestMapping是POST时,Spring是否应该从URL和POST数据中获取所有参数?

基本上,Facebook通过POST和其他参数(如request_ids)通过URL参数同时发送signed_request参数。我需要得到两者。

2 个答案:

答案 0 :(得分:4)

  

但是如果某些参数在URL中会怎么样呢   http://example.com/post/path?last_name=Smith?春天应该是   从中获取URL和POST数据中的所有参数   RequestMapping是POST吗?

是的,spring将获取POST请求的所有参数值(在表单和URL中)。但在你的情况下

 @RequestParam(value = "first_name", required = false) String firstName, 

将为null。因为在您的网址中,参数名称为last_name。 :d

答案 1 :(得分:0)

我不确定这会以一种有用的方式回答你的问题,但是,谈到Linux:

  1. POST参数出现在服务器的stdin上;

  2. GET参数(网址中的参数)显示在QUERY_STRING中。

  3. HTH