Spring Boot学习——Controller的使用


       本文主要记录几个注释的使用方法。

       1. @Controller : 处理http请求

       2. @RequestMapping : 配置URL映射

       3. @RestController : 组合注解,spring 4之后新加的注解,相当于@Controller和@ResponseBody配合使用

       4. @PathVariable : 获取URL中的数据

       5. @RequestParam : 获取请求的参数的值

       6. @GetMapping/@PostMapping : 组合注解

 

       使用方法:

       1. @Controller

              需要与模板配合使用。

              pom.xml 中添加模板依赖,代码如下:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

              在resources下创建文件夹templates,在templates下创建index.html,index.html内容随便写。

              编辑Java类,代码如下:

@Controller
public class HelloController {
    @RequestMapping(value="/say", method=RequestMethod.GET)
    public String sayHello(@PathVariable("id") int myId){
        return "index";
    }
}

              在浏览器中访问http://127.0.0.1:8080/say即可看到index.html页面内容

       2. @RequestMapping

              上面代码已经使用了该注解。

       3. @RestController

              组合注解,相当于@Controller和@ResponseBody配合使用

       4. @PathVariable

              获取URL中的数据,代码如下:

@RestController
public class HelloController {
  @RequestMapping(value="/say/{id}",method=RequestMethod.GET)
    public String sayHello(@PathVariable("id") int myId){
        return  "myId is " + myId;
    }
}

              在浏览器中访问http://127.0.0.1:8080/say/111即可查看结果

       5. @RequestParam

              获取请求的参数的值,代码如下:

@RestController
public class HelloController {
    @RequestMapping(value ="/say", method=RequestMethod.GET)
    public String sayHello( @RequestParam("id") int myId){
        return  "myId is " + myId;
    }
}

              在浏览器中访问http://127.0.0.1:8080/say?id=111即可查看结果

              也可以设置参数的默认值,代码如下:

@RestController
public class HelloController {
    @RequestMapping(value ="/say", method=RequestMethod.GET)
    public String sayHello( @RequestParam( value = "id", required = false, defaultValue = "0") int myId){
        return  "myId is " + myId;
    }
}

              这样可以不传参数id。在浏览器中访问http://127.0.0.1:8080/say即可查看结果

       6. @GetMapping/@PostMapping

              组合注解

              @GetMapping(value = "/say") 相当于 @RequestMapping(value = "/say", method = RequestMethod.GET)

              @PostMapping(value = "/say") 相当于 @RequestMapping(value = "/say", method = RequestMethod.POST)

              除此之外,还有组合注解@PutMapping、@DeleteMapping等等。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM