0 0

spring mvc 400 Required String parameter 'quizId' is not present 前端参数找不到5

如下图所展示, 前端发起一个异步请求,传递了一个json对象

$scope.addQuestionToTest = function(qid){
		 var sendData={"quizId":$scope.tid,"questionId":qid};
		 $http({
	            url: WEBROOT+"/test/addquestion",
	            method: 'POST',
	            headers: {
	                "Authorization": Data.token()
	            },
	            data: sendData
	        }).success(function (data) {...

 
firebug中的前端数据如下

头信息




 
 
以下服务端的代码

    @RequestMapping(value = "/addquestion",method=RequestMethod.POST)  
    @ResponseBody  
    public ResponseBase addQuestion(  
            @RequestParam(value="quizId", required=true)   String quizId,  
            @RequestParam(value="questionId", required=true)   Integer questionId  
            ) {  

 
spring mvc中报错400, debug跟到spring web的DispatchServlet,发现抛出的具体异常是请求的quizId找不到

    org.springframework.web.bind.MissingServletRequestParameterException: Required String parameter 'quizId' is not present  
 

奇了个怪了,为什么会找不到前端的参数,明明再firebug中都有的,请各位指教

 

 
2014年11月17日 23:46
  • 大小: 25.3 KB
  • 大小: 67.3 KB

6个答案 按时间排序 按投票排序

0 0

采纳的答案

@RequestMapping(value = "/addquestion",method=RequestMethod.POST)    
@ResponseBody    
public ResponseBase addQuestion(    
        @RequestBody Map<String,Object> params    
        ) {  
            String quizId = params.get("quizId").toString();
            Integer questionId = Integer.parseInt(params.get("questionId").toString());
        }


试试这么写

2014年11月19日 10:46
0 0

如果传的是json 头信息中的 content-type 改成application/json

2014年11月20日 11:21
0 0

基本类型没法赋值

2014年11月19日 14:06
0 0

PLZ use @RequestBody, not @RequestParam

2014年11月18日 16:16
0 0

参数名换成小写的,试试。如quizId 换成quizid

2014年11月18日 14:24
0 0

你用的什么版本的spring,换之前的版本试试吧,3.2.1之后应该是做了异常处理的。或者换种接收参数的方式

2014年11月18日 09:19

相关推荐

    Spring MVC不能直接接收list类型参数的问题

    按照这种方式编写代码,后台程序实际上无法获取到前端传递过来的 `areaList` 参数。这是因为 jQuery 需要调用 `jQuery.param()` 方法对参数进行序列化处理。 #### 解决方案 针对上述问题,有两种主要的方法可以解决...

    spring mvc 参数绑定漏洞

    3. **默认配置不当**:Spring MVC的默认配置可能允许过于宽松的数据绑定,例如允许空值绑定到非null字段,或者允许任意类型的参数绑定。 针对这些风险,开发者可以采取以下措施来增强Spring MVC应用的安全性: 1. *...

    最全最经典spring-mvc教程

    Spring MVC还支持数据绑定,自动将请求参数绑定到Java对象,这极大地简化了表单提交的处理。对于验证,Spring MVC提供了BindingResult和Validator接口,用于校验模型数据的正确性。 另外,Spring MVC与Spring框架的...

    Spring.MVC-A.Tutorial-Spring.MVC学习指南 高清可复制版PDF

    在Spring MVC中,每个请求都会经过DispatcherServlet,这是一个前端控制器,它会根据请求的URL和配置的映射规则将请求分发到合适的处理器。处理器可以是自定义的Controller类,Controller通过方法注解(如@...

    Spring MVC请求参数与响应结果全局加密和解密详解

    Spring MVC请求参数与响应结果全局加密和解密详解 在本文中,我们将详细介绍Spring MVC请求参数与响应结果全局加密和解密的相关知识点,包括请求参数的加密和解密、响应结果的加密和解密、ContentType的处理等。 ...

    Spring MVC使用Demo

    Spring MVC是Spring框架的一个核心模块,专用于构建Web应用程序。这个"Spring MVC使用Demo"提供了实践操作,帮助开发者深入理解Spring MVC的开发环境配置、注解的使用以及工作原理。 首先,Spring MVC的设计模式...

    Spring MVC + Mybatis+Spring实现的个人博客系统

    通过DispatcherServlet作为前端控制器,Spring MVC能够灵活地调度请求到相应的处理器,并且支持多种视图技术如JSP、Thymeleaf等。 **2. Mybatis** Mybatis是一个轻量级的持久层框架,它简化了Java应用与数据库之间...

    spring MVC简单示例

    Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建模型-视图-控制器(Model-View-Controller)架构的应用程序提供了强有力的支持。在本示例中,我们将深入探讨Spring MVC的基本概念、配置以及如何创建一个...

    Mastering Spring MVC 4(2015.09)源码

    Spring MVC 是一个强大的Java Web开发框架,它是Spring框架的一部分,专为构建高度可扩展和模块化的Web应用程序而设计。在2015年的版本中,Spring MVC 4已经相当成熟,提供了许多特性来简化开发流程并提高开发效率。...

    Spring MVC 简单Demo

    - **DispatcherServlet**:作为Spring MVC的前端控制器,负责接收请求,解析请求信息,并转发给相应的处理器。 - **Controllers**:控制器处理业务逻辑,接收来自DispatcherServlet的请求,调用业务服务并准备模型...

    Spring mvc整合mybatis例子

    在IT行业中,Spring MVC 和 MyBatis 是两个非常重要的框架,它们分别负责Web应用程序的控制器层和数据访问层。Spring MVC 提供了模型-视图-控制器架构模式的实现,而MyBatis则是一个轻量级的SQL映射框架,用于简化...

    spring MVC_快速入门

    要使用Spring MVC,首先需要在项目中引入Spring MVC的依赖,并配置Spring的DispatcherServlet,它是Spring MVC的前端控制器,负责调度请求到相应的处理器。 3. **Controller** Controller是处理请求的组件,通常...

    精通Spring MVC4

    Spring MVC支持自动的数据绑定,将请求参数自动映射到Controller方法的参数上。同时,使用JSR-303/JSR-349提供的注解可以进行数据验证,如@NotNull、@Size等。 9. **上传下载** 使用MultipartFile处理文件上传,...

    spring mvc 整合包

    Spring MVC 是一个强大的Java Web应用程序开发框架,是Spring框架的一部分,专注于处理Web请求和返回响应。它提供了模型-视图-控制器(MVC)架构,帮助开发者构建灵活、可维护的Web应用。在这个"spring mvc 整合包...

    spring mvc架包

    `DispatcherServlet` 是 Spring MVC 的核心,它作为前端控制器,负责调度请求到相应的处理器。 Spring MVC 提供了以下关键组件和特性: 1. **ModelAndView**: 这是 Spring MVC 中用于封装模型数据和视图名称的对象...

    Spring MVC, A Tutorial, second edition 【2016】

    This is a tutorial on Spring MVC, a module in the Spring Framework for rapidly developing web applications. The MVC in Spring MVC stands for Model-View-Controller, a design pattern widely used in ...

    Spring MVC 基础实例源码01

    Spring MVC 是一个基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要用于构建Web应用程序的后端控制器。这个"Spring MVC 基础实例源码01"的资源很可能是为了帮助初学者理解Spring MVC的核心概念和...

    spring-MVC.zip_Java spring mvc_spring mvc_spring mvc

    Spring MVC 是一款基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要用于构建Web应用程序的后端控制器。在本实例中,我们有一个名为"spring-MVC.zip"的压缩包,里面包含了一个关于Spring MVC的开发...

Global site tag (gtag.js) - Google Analytics