构建第一个Spring Boot2.0应用之RequestMapping(四)
2024-09-04 16:03:15
在学习controller的时候,测试了在RequestMapping中,value参数中配置集合,实现不同的URL访问同一方法。
本章继续学习和测试RequestMapping的其他特性。
一.PathVariabe获取URL参数,代码如下:
package com.yy.controller; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView; /**
* Created by Administrator on 2018-05-18.
*/
@RestController
//@Controller
public class HelloController {
@RequestMapping(value = "/hello1",method= RequestMethod.GET)
public String sayHello1()
{
String hello="index";
return hello;
}
@ResponseBody
@RequestMapping(value = {"/hello2","/index2"},method= RequestMethod.GET)
public String sayHello2()
{
String hello="index"; return hello;
} @RequestMapping(value = "/hello3",method= RequestMethod.GET)
public ModelAndView sayHello3()
{
ModelAndView mv = new ModelAndView("index");
return mv;
}
// URL参数
@RequestMapping(value = "/hello4/{name}",method= RequestMethod.GET)
public String sayHello4(@PathVariable("name") String name )
{
String str=name;
return str;
} }
启动应用,访问URL:http://localhost:8088/sptest/hello4/lilei,则方法sayHello4获取的name参数值为lilei,方法返回name值,则显示如下:
二.使用@RequestMapping给整个类指定URL映射
package com.yy.controller; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView; /**
* Created by Administrator on 2018-05-18.
*/
@RestController
//@Controller
@RequestMapping(value="my")
public class HelloController {
@RequestMapping(value = "/hello1",method= RequestMethod.GET)
public String sayHello1()
{
String hello="index";
return hello;
}
@ResponseBody
@RequestMapping(value = {"/hello2","/index2"},method= RequestMethod.GET)
public String sayHello2()
{
String hello="index"; return hello;
} @RequestMapping(value = "/hello3",method= RequestMethod.GET)
public ModelAndView sayHello3()
{
ModelAndView mv = new ModelAndView("index");
return mv;
}
// URL参数
@RequestMapping(value = "/hello4/{name}",method= RequestMethod.GET)
public String sayHello4(@PathVariable("name") String name )
{
String str=name;
return str;
} }
其他不变,给HelloController类添加@RequestMapping注解。启动应用访问URL:
三.按照传统方式Url+"?name=lilei"传递参数
//传统URL参数
@RequestMapping(value = "/hello5",method= RequestMethod.GET)
public String sayHello5(@RequestParam(value="name",required = false,defaultValue = "james") String name )
{
String str=name;
return str;
}
获取参数使用@RequestParam,其中value值为url中参数的名称;required默认为true,表示参数必须,此处修改为false;defaultValue为该参数默认值,如果url中没有为该参数指定值,则使用该默认值,如果参数已传递,则用获取的参数值覆盖该默认值。
用如下URL访问:http://localhost:8088/sptest/my/hello5/?name=chole,显示如下:
四.使用GetMapping代替RequestMapping
其他不变,将上面代码中的sayHello5注解改为@GetMapping(value = "/hello5")
最新文章
- Json_异常_net.sf.json.JSONException: JSONObject[";solution";] not found.
- 切换npm源
- swift错误和异常处理
- Bag-of-words模型
- 每日英语:What To Expect To Wear When You're Expecting
- xenomai安装
- C++STL之map的基本操作
- Nico Game Studio 1.基本UI和地图编辑基础功能
- poj1006 ( hdu1370 ):中国剩余定理裸题
- NOIP2016提高组初赛(1)
- opensslBIO系列之2---BIO结构和BIO相关文件介绍
- 使用Quartz 2D擦除图片
- Python Flask Restful
- /proc/diskstats
- ADB文件及文件夹操作
- 如何通过Git GUI将自己本地的项目上传至Github(转)
- vcf文件(call variants得来的)怎么看变异是纯合还是杂合的
- JavaScript 空间分析库——JSTS和Turf【转】
- php 执行命令函数
- 【C】——利用sigsuspend函数等待信号阻塞进程