服务器之家

服务器之家 > 正文

springboot-controller的使用详解

时间:2020-12-20 13:29     来源/作者:JS_HCX

controller的使用

一、

  • @controller:处理http请求
  • @restcontroller:spring4之后新加的注解,原来返回json需要@responsebody配合@controller
  • @requestmapping:配置url映射

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

使用spring官方的一个模板:

?
1
2
3
4
<dependency>
  <groupid>org.springframework.boot</groupid>
  <artifactid>spring-boot-starter-thymeleaf</artifactid>
</dependency>

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

?
1
<h1>hello spring boot!</h1>

hellocontroller:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
@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中添加如下:

?
1
2
3
4
5
6
7
8
9
10
11
@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:

方式一:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
@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();
  }
}

结果:

springboot-controller的使用详解

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
@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();
  }
}

结果:

springboot-controller的使用详解

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
@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();
  }
}

结果:

springboot-controller的使用详解

注解简写:@requestmapping(value = "/say",method = requestmethod.get)等价于:@getmapping(value = "/say")

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@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();
  }
}

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

原文链接:http://www.jianshu.com/p/84cf975068d2?utm_source=tuicool&utm_medium=referral

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
电视剧《琉璃》全集在线观看 琉璃美人煞1-59集免费观看地址
电视剧《琉璃》全集在线观看 琉璃美人煞1-59集免费观看地址 2020-08-12
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
返回顶部