您现在的位置是:蓝石榴 > 个人博客 > Java

个人博客

@PathVariable、@RequestParam等常用SpringMVC注解

2015-10-03Java 3797
在Spring MVC中,可以使用 @PathVariable注解方法参数并将其绑定到URI模板变量的值上,其中参数是不能为空的,可以有多个注解。
1.代码:

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.PathVariable;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestParam;

import org.springframework.web.bind.annotation.ResponseBody;

/***

* 注解示例

* @author lan16 www.lan16.com

*

*/

@RequestMapping("/api")

@Controller

public class TestController {

@RequestMapping(value="/test/{moblie}/{name}")

public @ResponseBody String test(HttpServletRequest request,

HttpServletResponse response,

@PathVariable String moblie, @PathVariable String name,

/**

* required=false表示不传的话,会给参数赋值为null,required=true就是必须要有,

* 如果用@RequestMapping注解的参数是int基本类型,但是required=false,这时如果

* 不传参数值会报错,因为不传值,会赋值为null给int,这个不可以

*/

@RequestParam(value = "id", required = false) Integer id){

return null;

}

}

2.说明:

Controller控制器是通过服务接口定义的提供访问应用程序的一种行为,它解释用户的输入,将其转换成一个模型然后将试图呈献给用户。Spring MVC使用 @Controller定义控制器,它还允许自动检测定义在类路径下的组件并自动注册。

我们可以 @RequestMapping注解将类似 “/api”这样的URL映射到整个类或特定的处理方法上。一般来说,类级别的注解映射特定的请求路径到表单控制器上,而方法级别的注解只是映射为一个特定的HTTP方法请求。

在Spring MVC中,可以使用 @PathVariable注解方法参数并将其绑定到URI模板变量的值上,其中参数是不能为空的,可以有多个注解,例如代码中的参数moblie和参数name

@RequestParam将请求的参数绑定到方法中的参数上。其实,即使不配置参数,注解也会默认使用该参数。required=false表示不传的话,会给参数赋值为null,required=true就是必须要有,如果用@RequestMapping注解的参数是int基本类型,但是required=false,这时如果不传参数值会报错,因为不传值,会赋值为null给int,这个是不可以的。

@ResponseBody它的作用是将返回类型直接输入到HTTP response body中。@ResponseBody在输出JSON格式的数据时,会经常用到。

很赞哦!(660)