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等等。
Spring Boot学习——Controller的使用的更多相关文章
- Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客
==他的博客应该不错,没有细看 Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客 http://blog.csdn.net/u012706811/article/det ...
- Spring boot学习1 构建微服务:Spring boot 入门篇
Spring boot学习1 构建微服务:Spring boot 入门篇 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框 ...
- 转载:spring boot学习
Spring Boot学习 Spring Boot是为了简化Spring应用的创建.运行.调试.部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置. 简单来说,它提 ...
- Spring Boot 学习方法论-如何正确的入门 Spring Boot
想要入门 Spring Boot,那么什么样的教程是符合初学者学习的(没有太多的Java基础但有一些程序基础或者软件编程知识). 这恰好能够勾出很多问题,比如是文章图文教程适合还是视频教程适合零基础初 ...
- Spring Boot 学习笔记(六) 整合 RESTful 参数传递
Spring Boot 学习笔记 源码地址 Spring Boot 学习笔记(一) hello world Spring Boot 学习笔记(二) 整合 log4j2 Spring Boot 学习笔记 ...
- Github点赞超多的Spring Boot学习教程+实战项目推荐!
Github点赞接近 100k 的Spring Boot学习教程+实战项目推荐! 很明显的一个现象,除了一些老项目,现在 Java 后端项目基本都是基于 Spring Boot 进行开发,毕竟它这 ...
- Spring Boot学习大全(入门)
Spring Boot学习(入门) 1.了解Spring boot Spring boot的官网(https://spring.io),我们需要的一些jar包,配置文件都可以在下载.添置书签后,我自己 ...
- spring boot 学习资料
spring boot 学习资料: 学习资料 网址 Spring Boot Cookbook-极客学院 http://wiki.jikexueyuan.com/project/spring-boot- ...
- Spring Boot学习笔记2——基本使用之最佳实践[z]
前言 在上一篇文章Spring Boot 学习笔记1——初体验之3分钟启动你的Web应用已经对Spring Boot的基本体系与基本使用进行了学习,本文主要目的是更加进一步的来说明对于Spring B ...
随机推荐
- nodejs实现前后端交互
本人nodejs入门级选手,站在巨人(文殊)的肩膀上学习了一些相关知识,有幸在项目中使用nodejs实现了前后端交互,因此,将整个交互过程记录下来,方便以后学习. 本文从宏观讲述nodejs实现前后端 ...
- Special Segments of Permutation - CodeForces - 1156E (笛卡尔树上的启发式合并)
题意 给定一个全排列\(a\). 定义子区间\([l,r]\),当且仅当\(a_l + a_r = Max[l,r]\). 求\(a\)序列中子区间的个数. 题解 笛卡尔树上的启发式合并. \(200 ...
- HDU 4857
HDU 4857 (反向拓扑排序 + 优先队列) 糟糕的事情发生啦,现在大家都忙着逃命.但是逃命的通道很窄,大家只能排成一行. 现在有n个人,从1标号到n.同时有一些奇怪的约束条件,每个都形如:a必须 ...
- models管理类抽取基类
Models类 models.py # coding:utf-8 from django.db import models from db.Base_model import Base_Model f ...
- ajax提交表单,支持文件上传
当我们提交表单但是又不想要刷新页面的时候就可以考虑使用ajax来实现提交功能,但是这有个局限就是当有文件上传的时候是行不通的,下面借助于jquery.form可以很方便满足我们的需求. 1.表单写 ...
- 如何使用PowerShell管理Windows服务
[TechTarget中国原创] 作为一名系统管理员,最常见的任务之一就是学会管理Windows服务,这是保证Windows服务器和客户端正常运行的重要内容. 许多操作系统和应用程序都依赖于这些服务. ...
- requireJS入门学习
前言 最近网上.群里各种随便看,随便学.暑期实习还没找到,昨天开题过了,好好学习吧.最近一直看到前端的ADM,CMD规范,然后网上各种找资料看,看了好几个牛人的博客,写的很好,然后自我感觉了解了点,介 ...
- 【Luogu P2781】 传教
这题是可以用线段树做的. 虽然$n\leq 10^9$ 可以发现,真正需要用到的节点很少,故动态开点,只有需要用到的时候才新建节点. 这里我在下放标记的时候新建节点,因为每操作/查询一个节点都需要先下 ...
- cookie注意事项
cookie是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式. 四种会话跟踪技术(URL重写.隐藏表单域.Cookie.Session) 服务端技术:URL重写,Session, ...
- Leetcode 640.求解方程
求解方程 求解一个给定的方程,将x以字符串"x=#value"的形式返回.该方程仅包含'+',' - '操作,变量 x 和其对应系数. 如果方程没有解,请返回"No so ...