springboot-controller的使用详解

 更新时间:2017年08月23日 09:58:29   作者:JS_HCX  
本篇文章主要介绍了springboot-controller的使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

Controller的使用

一、

  • @Controller:处理http请求
  • @RestController:Spring4之后新加的注解,原来返回json需要@ResponseBody配合@Controller
  • @RequestMapping:配置url映射

1.对于控制器层,如果只使用@Controller注解,会报500,即controller必须配合一个模板来使用:

使用spring官方的一个模板:

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

在resources下面的templates文件夹下建立index.html:

<h1>hello Spring Boot!</h1>

HelloController:

@Controller
@ResponseBody
public class HelloController {

  @Autowired
  private GirlProperties girlProperties;

  @RequestMapping(value = "/hello",method = RequestMethod.GET)
  public String say(){
//    return girlProperties.getCupSize();
    return "index";
  }
}

@RestController相当于@Controller和@ResponseBody组合使用

如果程序需要通过hello和hi都能访问到,只需在@RequestMapping的value中添加如下:

@RestController
public class HelloController {

  @Autowired
  private GirlProperties girlProperties;

  @RequestMapping(value = {"/hello", "/hi"},method = RequestMethod.GET)
  public String say(){
    return girlProperties.getCupSize();
  }
}

二、

  • @PathVariable:获取url中的数据
  • @RequestParam:获取请求参数的值
  • @GetMapping:组合注解

@PathVariable:

方式一:

@RestController
@RequestMapping("/hello")
public class HelloController {

  @Autowired
  private GirlProperties girlProperties;

  @RequestMapping(value = {"/say/{id}"},method = RequestMethod.GET)
  public String say(@PathVariable("id") Integer id){
    return "id:"+id;
//    return girlProperties.getCupSize();
  }
}

结果:

方式二:也可以把id写在前面:

@RestController
@RequestMapping("/hello")
public class HelloController {

  @Autowired
  private GirlProperties girlProperties;

  @RequestMapping(value = {"/{id}/say"},method = RequestMethod.GET)
  public String say(@PathVariable("id") Integer id){
    return "id:"+id;
//    return girlProperties.getCupSize();
  }
}

结果:

方式三:使用传统方式访问:

@RestController
@RequestMapping("/hello")
public class HelloController {

  @Autowired
  private GirlProperties girlProperties;

  @RequestMapping(value = "/say",method = RequestMethod.GET)
  public String say(@RequestParam("id") Integer myId){
    return "id:"+myId; //方法参数中的Integer id这个id不需要与前面对应
//    return girlProperties.getCupSize();
  }
}

结果:


注解简写:@RequestMapping(value = "/say",method = RequestMethod.GET)等价于:@GetMapping(value = "/say")

@RestController
@RequestMapping("/hello")
public class HelloController {

  @Autowired
  private GirlProperties girlProperties;

//  @RequestMapping(value = "/say",method = RequestMethod.GET)
  //@GetMapping(value = "/say")//等价于上面的
  @PostMapping(value = "/say")
  public String say(@RequestParam("id") Integer myId){
    return "id:"+myId; //方法参数中的Integer id这个id不需要与前面对应
//    return girlProperties.getCupSize();
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java中的MapStruct用法详解

    Java中的MapStruct用法详解

    这篇文章主要介绍了Java中的MapStruct用法详解,MapStuct的使用非常简单,把对应的jar包引入即可,本文通过示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • Go Java算法之为运算表达式设计优先级实例

    Go Java算法之为运算表达式设计优先级实例

    这篇文章主要为大家介绍了Go Java算法之为运算表达式设计优先级实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Java结构型设计模式中建造者模式示例详解

    Java结构型设计模式中建造者模式示例详解

    建造者模式,是一种对象构建模式 它可以将复杂对象的建造过程抽象出来,使这个抽象过程的不同实现方法可以构造出不同表现的对象。本文将通过示例讲解建造者模式,需要的可以参考一下
    2022-09-09
  • Go Java算法之交错字符串示例详解

    Go Java算法之交错字符串示例详解

    这篇文章主要为大家介绍了Go Java算法之交错字符串示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Java 运算符 动力节点Java学院整理

    Java 运算符 动力节点Java学院整理

    这篇文章主要介绍了Java 运算符 动力节点Java学院整理,需要的朋友可以参考下
    2017-04-04
  • spring boot RestTemplate 发送get请求的踩坑及解决

    spring boot RestTemplate 发送get请求的踩坑及解决

    这篇文章主要介绍了spring boot RestTemplate 发送get请求的踩坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • spring security4 添加验证码的示例代码

    spring security4 添加验证码的示例代码

    本篇文章主要介绍了spring security4 添加验证码的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • Flutter 通过Clipper实现各种自定义形状的示例代码

    Flutter 通过Clipper实现各种自定义形状的示例代码

    这篇文章主要介绍了Flutter 通过Clipper实现各种自定义形状的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • java 打造阻塞式线程池的实例详解

    java 打造阻塞式线程池的实例详解

    这篇文章主要介绍了java 打造阻塞式线程池的实例详解的相关资料,这里提供实例帮助大家,理解这部分知识,需要的朋友可以参考下
    2017-07-07
  • 2024最新版Java JDK安装配置图文详解全攻略

    2024最新版Java JDK安装配置图文详解全攻略

    这篇文章主要介绍了2024最新版Java JDK安装配置图文详解的相关资料,包含准备工作、下载步骤、安装指南及环境变量配置验证,供用户轻松搭建Java开发环境,需要的朋友可以参考下
    2024-09-09

最新评论