Spring Boot学习(一)之Controller的使用

2023-11-17

@Controller:处理http请求

@RestController:

@RestController注解相当于@ResponseBody + @Controller合在一起的作用。Spring4之后新加入的注解,原来返回json需要@ResponseBody配合@Controller


@RequestMapping:配置url映射,可用于用户通过某个url访问到我们写的方法


例子:

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

   @Autowired
   private GirlProperties girlProperties;

    @RequestMapping(value = "/say",method = RequestMethod.POST)
    public String say(){
        return girlProperties.getCupSize();
    }
}
这时访问地址就是: 127.0.0.1:8080/hello/say



@PathVariable:获取url中的数据

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

仔细看url,后面的参数比起传统的更加简洁,传统get方法获取参数如下面所示


@RequestParam:获取请求参数的值

@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;
    }
}


public String say(@RequestParam(value = "id",required = false,defaultValue = "0") Integer id){
    return "id"+id;
}
其中,required:表示是否一定要设置参数id的值,false表示不需要;defaultValue:表示默认值为0(注意要用“”引着)


@GetMapping:组合注解

//@RequestMapping(value = "/say",method = RequestMethod.GET)
@GetMapping(value = "/say")
这两句代码作用是一样的,但是组合注解减少了代码量。除了@GetMapping这个组合注解,还有其它的如PostMapping等组合注解!!


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring Boot学习(一)之Controller的使用 的相关文章

  • 关于MFC中使用ShellExecute出现的进程冲突问题

    目录 问题背景 问题分析 问题背景 现在有一个MFC写的界面程序 以及一个外部exe文件 用户通过界面选择文件a MFC将文件a的路径作为参数 调用exe文件生成一个解析文件b 然后MFC再读取这个文件b 为了完成这一目的 就需要在MFC中

随机推荐

  • Airtest IDE 使用方法

    1 assert exists 找到图片则返回图片坐标 否则报错 raise AssertionError 引发断言错误 2 assert not exists 没找到图片则返回None 否则报错 raise AssertionError
  • 项目实战——文档扫描OCR识别

    扫描全能王的实现 maybe 目录 一 文档扫描 1 引入所需要的库 2 图像的读取与预处理 读取图像 图像reszie 图像灰度化 滤波 边缘检测 3 轮廓检测 4 透视与二值变换 二 文字识别 一 文档扫描 文档扫描所实现的功能如下图所
  • 【转载】浅谈蓝牙 Mesh 组网技术

    本文转载自 Eren https www erenship com posts 63c7 html 蓝牙技术联盟官方网址 https www bluetooth com zh cn 蓝牙技术联盟公众号 BluetoothSIG 蓝牙技术联盟
  • BIO与NIO、AIO的区别

    IO的方式通常分为几种 同步阻塞的BIO 同步非阻塞的NIO 异步非阻塞的AIO 一 BIO 在JDK1 4出来之前 我们建立网络连接的时候采用BIO模式 需要先在服务端启动一个ServerSocket 然后在客户端启动Socket来对服务
  • 使用Nuget 安装指定版本package或者更新package到指定版本

    首先打开程序包管理器控制台 工具 Nuget程序包管理器 程序包管理器控制台 打开如下图所示的命令行界面 安装指定版本的Package 例如 EntityFramework 5 0 PM gt Install Package BenchMa
  • 关于yolov5训练大量数据存在的问题记录

    相关配置环境 拉取官方最新的镜像 docker pull ultralytics yolov5 以及代码 git clone https github com ultralytics yolov5 torch 1 10 1 cu102 CU
  • 小程序requiredPrivateInfos 无效以及闪退问题

    原生微信小程序踩坑 requiredPrivateInfos 无效 1 检查单词拼写是否正确以及是否有空格存在 2 检查是否在微信公众平台中申请了权限 3 将多行改为一行 requiredPrivateInfos xxxxxxx xxxx
  • 【Qt】实现在窗口缩放时控件维持相对位置

    文章目录 01 背景 02 解决方案 03 位置和大小的计算 03 1 控件宽度或高度始终与窗体一致 03 2 控件左右居中 03 3 控件上下居中 03 4 控件位于窗体右上角 03 5 控件位于左右居中线向右30像素的地方 04 完成效
  • 华为od机试 Java 【编码方式】

    题目 你需要创建一个特殊的整数编码程序 在这个程序中 数字较小时 它的编码占用的空间也应更小 你的任务是根据以下规则将一个整数转换为一个特殊的编码字符串 将整数转换为它的二进制形式 从右到左每7位组成一个编码单元 在每个编码单元的前面添加一
  • C语言指针(一)——什么是指针及指针的定义

    1 什么是指针 计算机中所有的数据都必须放在内存中 不同类型的数据占用的字节数不一样 例如int 占用4个字节 char占用1个字节 为了正确地访问这些数据 必须为每个字节都编上号码 就像门牌号一样 每个字节的编号是唯一的 根据编号可以准确
  • 他98年的,我玩不过他...

    现在的小年轻真的卷得过分了 前段时间我们公司来了个98年的 工作没两年 跳槽到我们公司起薪18K 都快接近我了 后来才知道人家是个卷王 从早干到晚就差搬张床到工位睡觉了 最近和他聊了一次天 原来这位小老弟家里条件不太好 一大家子指望他一个人
  • Java 责任链模式

    责任链模式 一 什么是责任链模式 二 责任链模式的优势和劣势 2 1 优势 2 2 劣势 三 示例 一 什么是责任链模式 责任链模式定义 为了避免请求发送者与多个请求处理者耦合在一起 于是将所有请求的处理者通过前一对象记住其下一个对象的引用
  • YOLOv5+deepsort实现目标追踪。(附有各种错误解决办法)

    一 YOLOv5算法相关配置 这里如果是自己只想跑一跑YOLOV5的话 可以参考本章节 只想跑通YOLOv5 deepsort的看官移步到下一章节 1 1 yolov5下载 yolov5源码在github下载地址上或者Gitee上面都有 需
  • Critical dependency: the request of a dependency is an expression(import)

    定位到vue文件问题所在位置 export default created 告警所在 import md file then moduleFile gt catch err gt 原因 webpack 版本问题 webpack4中动态imp
  • 小程序中轮播图u-swiper图片无法显示问题

    问题 uview官网中 指定的图片路径字段为image 完全按照uview写轮播图却无法正常显示 解决方法 1 把image字段改成url字段 2 给u swiper加上 keyName image 最后找到了总结原因 npm下载的uvie
  • 【Spring源码】createBeanInstance()

    目录 创建实例 createBeanInstance 有参构造 autowireConstructor 无参构造 instantiateBean 实例化策略 instantiate createBeanInstance英文版 autowir
  • 你能写一个AIGC的python程序

    当然 我可以为您编写一个使用 Python 编写的 AIGC 程序 AIGC Artificial Intelligence Game Competition 是一种人工智能竞赛 其中参赛者需要编写人工智能程序 让其在模拟或真实游戏中进行操
  • linux服务器端启动NFS报“Job for nfs-server.service canceled.”的解决办法

    linux服务器端启动NFS报 Job for nfs server service canceled 的解决办法 网上百度了好久都没找到这个报错的原因 白嫖失败 打开linux的系统日志 tail f var log messages 再
  • CppUnit测试框架入门

    测试驱动开发 TDD 是以测试作为开发过程的中心 它坚持 在编写实际代码之前 先写好基于产品代码的测试代码 开发过程的目标就是首先使测试能够通过 然后再优化设计结构 测试驱动开发式是极限编程的重要组成部分 XUnit 一个基于测试驱动开发的
  • Spring Boot学习(一)之Controller的使用

    Controller 处理http请求 RestController RestController注解相当于 ResponseBody Controller合在一起的作用 Spring4之后新加入的注解 原来返回json需要 Respons