`
cuisuqiang
  • 浏览: 3962722 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
3feb66c0-2fb6-35ff-968a-5f5ec10ada43
Java研发技术指南
浏览量:3672098
社区版块
存档分类
最新评论

SpringMVC使用@PathVariable ,参数接收使用基本类型

    博客分类:
  • SSH
阅读更多

使用MVC时,总是出现一些问题,当然都是使用造成的。

今天遇到一个问题,使用@PathVariable接收路径传递来的参数,可是访问时总是给500错误。

 

网上查了一下,有人说是不能带点符号,最后确定不是这个问题。

最后看到一个人说,使用@PathVariable时,参数接收要使用基本类型,比如我的代码:

@RequestMapping("/{reqKey}/req.do")
@ResponseBody
public ResponseEntity<String> ordersBack(
		@PathVariable String reqKey,
		@RequestParam(value="intVal") Integer intVal,
		@RequestParam(value="strVal") String strVal) throws Exception{
	return new ResponseEntity("ok", HttpStatus.OK);
}

 

这里面的intVal 我写成了int,现在改为Integer就可以了。

这里你给 required=false 是不行的,因为如果你不需要,这里Spring会给一个Null默认值,而你的类型如果是int,那肯定会出错。

你也可以使用defaultValue,这样Spring就不会去注入Null值,一样也不会出错。

 

综上,使用@PathVariable时注意两点:

1:参数接收类型使用基本类型

2:不用基本类型时,给defaultValue值

 

请您到ITEYE网站看 java小强 原创,谢谢!
http://cuisuqiang.iteye.com/ 

自建博客地址:http://www.javacui.com/ ,内容与ITEYE同步!

1
4
分享到:
评论
3 楼 huangyc1210 2016-09-07  
没关系啊
2 楼 zhangleijava1 2015-08-23  
讲错了,误人子弟。
1 楼 s_davinci 2014-05-21  
intVal 跟@PathVariable有毛线关系

相关推荐

    SpringMVC后台接收请求参数的几种方式Demo

    在后台,我们可以使用`@RequestParam`注解来接收这些参数: ```java @GetMapping("/search") public List&lt;SearchResult&gt; search(@RequestParam("keyword") String keyword) { // ... } ``` 对于POST请求,...

    SPRING MVC 的请求参数获取的几种方法

    1. 使用 @PathVariable 注解获取路径中传递参数 在 SPRING MVC 中,可以使用 @PathVariable 注解获取路径中传递的参数。例如: ```java @RequestMapping(value = "/{id}/{str}") public ModelAndView helloWorld(@...

    SpringMVC接收请求参数所有方式总结

    3. 非对象类型单个参数接收: 使用`@RequestParam`注解接收单一的简单类型参数,例如`@RequestParam("paramName") String paramName`。 4. 对象类型参数接收: 通过直接在控制器方法中声明一个对象,SpringMVC会...

    SpringMVC中使用@RequestBody,@ResponseBody注解实现Java对象和XML/JSON数据自动转换(下)

    它可以接收任何形式的输入数据,如表单数据、JSON、XML等,并将其转换为Java对象。Spring MVC使用HttpMessageConverter机制来完成这个转换过程。 #### 1.1 HttpMessageConverter - HttpMessageConverter是Spring ...

    Springmvc请求处理方法参数

    Spring MVC支持多种类型的参数,包括基本数据类型、对象、数组、集合、Map以及自定义类型。例如: - **基本数据类型**:如int、String、double等。 - **Java对象**:可以直接传递整个对象,对象的属性值与请求参数...

    springMVC接收参数的几种注解.pdf

    如果参数名与 URI 模板中的变量名不一致,可以使用 `@PathVariable("name")` 指定变量名。 2. **@RequestHeader 和 @CookieValue** `@RequestHeader` 注解允许开发者从 HTTP 请求头中获取值并将其绑定到方法参数...

    SpringMVC-2 使用@RequestMapping映射请求

    除了路径,`@RequestMapping`还可以接收`method`参数,用于指定支持的HTTP请求类型: ```java @RequestMapping(value = "/save", method = RequestMethod.POST) public String saveData(@RequestParam("name") ...

    springMVC接收参数的几种注解.docx

    它可以处理GET和POST请求中的简单类型参数,通过`request.getParameter()`获取。它支持两个属性:`value`和`required`。`value`用于指定参数名,`required`表示参数是否必须存在: ```java @RequestMapping("/...

    SpringMVC接收请求参数区别.docx

    在Spring MVC中,接收请求参数有多种方式,包括@RequestParam、@PathVariable、@RequestBody以及@ModelAttribute。这些注解各自适用于不同的场景,并且与HTTP请求的方法(GET、POST等)和Content-Type紧密相关。以下...

    SpringMVC注解开发的详解.doc

    除了基本的`@Controller`和`@RequestMapping`,SpringMVC还提供了许多其他注解来增强控制器的功能,如`@RequestParam`用于获取请求参数,`@PathVariable`用于获取URL路径变量,`@RequestBody`用于将请求体转换为Java...

    注解配置SpringMVC

    `@ModelAndView` 在方法返回时创建模型数据并指定视图,而在方法参数中使用`@ModelAttribute` 可以从模型中获取或创建一个对象。 ```java @GetMapping("/edit/{id}") public ModelAndView editUser(@PathVariable ...

    springmvc 其他引用资源(reference)

    在 "springmvc 其他引用资源(reference)" 中,我们通常指的是官方文档的 "reference" 部分,它详细阐述了 Spring MVC 的各种特性和使用方法。这里我们将深入探讨 Spring MVC 的核心概念、配置、控制器、数据绑定、...

    java springmvc

    此外,`@RequestParam`、`@PathVariable`等注解帮助我们获取请求参数。 4. **View**: 视图负责展示数据。SpringMVC支持多种视图技术,如JSP、FreeMarker、Thymeleaf等。视图解析器(如InternalResourceViewResolver...

    SpringMVC 学习总结

    1. 基本类型参数:直接通过请求参数名绑定到方法的基本类型参数。 2. POJO 参数:请求参数名与 POJO 类属性名匹配时,会自动将参数值注入到 POJO 对象中。 3. @RequestParam 注解:通过在方法参数前添加 @...

    springmvc-demo05-数据绑定(接受参数).zip

    在这个名为"springmvc-demo05-数据绑定(接受参数)"的项目中,我们将深入探讨Spring MVC如何实现这一特性。 1. **数据绑定的基本概念** 数据绑定是将用户输入或者HTTP请求参数自动映射到Java对象的属性上的过程。...

    Spring MVC--6.RESTful SpringMVC CRUD

    RESTful SpringMVC CRUD是指使用RESTful原则设计Spring MVC应用程序,以执行创建(Create)、读取(Retrieve)、更新(Update)和删除(Delete)数据的基本操作。 首先,我们需要理解REST(Representational State Transfer...

    精通SpringMVC

    开发者可以使用@RequestMapping注解来映射URL请求,@RequestParam、@PathVariable等注解来获取请求参数。 3. **Model**:模型对象通常由业务层服务提供,包含了处理请求所需的数据。这些数据可以通过ModelMap或...

    SpringMVC+restful demo

    3. **参数绑定**: `@PathVariable`用于从URL模板中提取参数,`@RequestParam`从查询参数中获取值。 4. **响应体**: `@ResponseBody`将方法的返回值直接转换为HTTP响应体,适合返回JSON数据。 **示例代码** ```java...

    springmvc例子

    - 在处理方法中,通过@RequestParam或@PathVariable获取请求参数。 - 结合Service层完成业务逻辑,然后将结果返回到视图,如JSP页面。 6. **测试** - 可以使用JUnit进行单元测试,模拟HTTP请求,测试Controller...

Global site tag (gtag.js) - Google Analytics