SpringBoot Controller

控制器


  • SpringBoot提供了@Controller和@RestController两种注解来标识此类负责接收和处理HTTP请求。

  • 如果请求的是页面和数据,使用@Controller注解即可;如果只是请求数据,则可以使用@RestController注解。

@RestController的用法


  • 默认情况下,@RestController注解会将返回的对象数据转换成JSON格式。

路由映射:控制器接收前端的请求


  • @RequestMapping注解主要负责URL的路由映射。它可以添加在Controller类或者具体的类方法上。

  • @RequestMapping(value="/xxx", method=RequestMethod.GET)等价于@GetMapping("/xxx")

参数传递


  • Get方式

@RestController//加上这个注解意味着这个类已经变成一个控制器了,可以接收客户端的请求了

publicclassHelloController {

// http://localhost:8080/hello?nickname=小白 单个参数

// http://localhost:8080/hello?nickname=小白&phone=10086 多个参数情况

@RequestMapping("/hello") //这个注解代表之后浏览器发起Get请求之后来访问这个方法

publicStringhello(Stringnickname){

return"hello!"+nickname;

}

}

上面这个方法的参数名要与前端请求的参数名称一致。或者也可以不一致,但是要在方法头里面加上:

@RequestParam("nickname") //这个nickname与前端请求的参数名称一致,然后后端方法的参数名称可以任意。但是这种情况下参数一定要传递(也可以不传递,此时可写成@RequestParam(value="nickname", required=false)),否则此方法将不会被访问。前一种方式方法是可以被访问到的。

@RestController//加上这个注解意味着这个类已经变成一个控制器了,可以接收客户端的请求了

publicclassHelloController {

// http://localhost:8080/hello?nickname=小白 单个参数

// http://localhost:8080/hello?nickname=小白&phone=10086 多个参数情况

@RequestMapping("/hello") //这个注解代表之后浏览器发起Get请求之后来访问这个方法

publicStringhello(@RequestParam("nickname") Stringnickname){

return"hello!"+nickname;

}

}

  • Post方式

method = RequestMethod.POST

如果前端传递的数据是json格式,那么需要在方法头中加上@RequestBody,如下:

传参格式:(前后端参数名字及类型要一致)

{

"name": "zhangsan",

"pwd": "123"

}

@RequestMapping(value="/postTest2", method=RequestMethod.POST)

publicStringpostTest2(@RequestBodyUseruser){//注解在这里!!!

System.out.println(user.getName());

System.out.println(user.getPwd());

return"Post请求2";

}

普通情况:前后端参数名要一致

@RequestMapping(value="/postTest1", method=RequestMethod.POST)

publicStringpostTest1(Useruser){

System.out.println(user.getName());

System.out.println(user.getPwd());

return"Post请求";

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值