请求映射

news/2024/10/30 13:33:09/文章来源:https://www.cnblogs.com/cyrushuang/p/18515672

@Controller

默认返回页面地址

@Controller
public class Test{@RequestMapping("/index.page")public String index(){// 会返回 src/main/resources/templates/index.html 文件return "index";}
}

@RestController

@Controller 和 @ResponseBody 的结合体

@RestController
public class Test{@RequestMapping("/index.page")public String index(){// 返回字符串 indexreturn "index";}
}

@RequestMapping

@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Mapping
public @interface RequestMapping {// 这三个货互为别名String name() default "";@AliasFor("path")String[] value() default {};@AliasFor("value")String[] path() default {};// 指定请求方式 RequestMethod。请求不合法响应 405RequestMethod[] method() default {};// 限定参数。参数不匹配响应 400String[] params() default {};// 限定 headerString[] headers() default {};// 限定请求类型,content-type,MediaType,不匹配响应 415String[] consumes() default {};// 响应什么数据String[] produces() default {};}

一些示例

@RestController
public class Test3{// 请求 url 参数必须有 age,http://localhost:8080/hello?age=18@RequestMapping(value="/hello", params="age")public void test1(int age){}// 请求参数必须有 age 并且值必须为 18,必须携带 username,gender 不能为1(不带 gender 也相当于!=1)@RequestMapping(value="/hello2", params={"age=18","username","gender!=1"})public void test1(int age, String username, int gender){}// 请求中请求有必须要有 token 参数@RequestMapping(value="/hello3", headers="token")public void test1(@RequestHeader("token") String age){}// 当请求的 content-type 是 MediaType.APPLICATION_JSON_VALUE 才会走这个方法@PostMapping(value = "/hello4", consumes = MediaType.APPLICATION_JSON_VALUE)public String hello(@RequestBody MyRequestBody requestBody) {return "Received name: " + requestBody.getName();}// 返回 json,所以方法返回值要是一个对象@GetMapping(value = "/hello5", produces = MediaType.APPLICATION_JSON_VALUE)public MyResponseBody hello() {return new MyResponseBody("Hello, World!");}
}class MyResponseBody {private String message;public MyResponseBody(String message) {this.message = message;}public String getMessage() {return message;}
}

REST Ful

  • @GetMapping:获取资源
  • @PostMapping:创建资源
  • @PutMapping:更新整个资源
  • @DeleteMapping:删除资源
  • @PatchMapping:更新资源部分信息

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/824122.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

manim边学边做--通用二维坐标系

Manim的Axes对象是通用的坐标系对象,之前几篇介绍的数轴和各种坐标平面都是继承Axes对象。 Axes对象的主要作用在于创建和管理二维坐标轴,以满足我们制作数学动画时的各种需求。 具体来说,Axes对象可以帮助我们:定义坐标系:定义一个明确的坐标系,通过设置x轴和y轴的范围、…

SHCTF week1-3

SHCTF week1-3最后一周没时间做了,开摆了. 1zflask robots.txt文件泄露加任意命令执行 import os import flask from flask import Flask, request, send_from_directory, send_fileapp = Flask(__name__)@app.route(/api) def api():cmd = request.args.get(SSHCTFF, ls /)res…

网络流的认识

# 网络流的认识 ## 什么是流网络 网络(`network`)是指一个特殊的有向图 $G = (V,E)$,其与一般有向图的不同之处在于有**容量和源汇点**,不考虑反向边。 其中,我们有以下变量来方便表示: - $S$:源点 - $T$:汇点 - $c(u,v)$:表示从 $u$ 到 $v$ 这条有向边的**容量**为 $…

CF370

废话370:纪念盗笔青春提交记录几个脑残错误后文会提到 3.题目: 黄黄绿蓝蓝( 幸好 370 不是“红红红红红” | “黑黑黑黑黑” ) 算法: 是没有滴 贪心,前缀和 正题 CF370A Rook, Bishop and King 签到数学题 车可以两步到达任意点 ,只需判断出发点与目标点是否在同行 | 同…

那两天,我的灵魂缺失了

写在前面 261 字 | 思念 | 回忆 | 爱恋 | 悔恨 | 执念 | 断舍离 | 放弃 For Nileicna. 正文我的灵魂每一天都在游走。6 月 8 日的下午 17:00,吹过一阵风,带走我的身体。我的灵魂停留在原地。我跟很多人说,我不认识你。那些时候,我的灵魂总是寄存在十字架上。自那天之后,每…

轻松上手CANoe Scenario Editor———智能网联工程师入门篇

(小编先带大家扫盲一下) V2X(Vehicle-to-Everything,车与万物通信)是一种先进的通信技术,使车辆能够与周围环境进行信息交换。这不仅包括与其他车辆(V2V)的互动,还涵盖与基础设施(V2I)和行人(V2P)的通信。通过V2X,车辆能够实时获取周围信息,从而提升行驶安全性和…

Windows Server 2016 中文版、英文版下载 (updated Oct 2024)

Windows Server 2016 中文版、英文版下载 (updated Oct 2024)Windows Server 2016 中文版、英文版下载 (updated Oct 2024) Windows Server 2016 Version 1607 请访问原文链接:https://sysin.org/blog/windows-server-2016/ 查看最新版。原创作品,转载请保留出处。 作者主页:…

Windows 7 Windows Server 2008 R2 简体中文版下载 (updated Oct 2024)

Windows 7 & Windows Server 2008 R2 简体中文版下载 (updated Oct 2024)Windows 7 & Windows Server 2008 R2 简体中文版下载 (updated Oct 2024) Windows 7 & Windows Server 2008 R2 (2024 年 10 月更新) 请访问原文链接:https://sysin.org/blog/windows-7/ 查…

SA:从入门到入土

基本应用 读入一个长度为 $ n $ 的由大小写英文字母或数字组成的字符串,请把这个字符串的所有非空后缀按字典序(用 ASCII 数值比较)从小到大排序。 解法 1.将每个后缀取出来,直接排序 \(O(n^2 \log n)\) 2.用hash二分LCP比较下一位,\(O(n \log^2 n)\) 3.倍增求后缀数组,\…

06.动态代理设计模式

06.动态代理设计模式 目录介绍01.为何要动态代理1.1 为何要动态代理 1.2 动态代理思考02.动态代理的概念2.1 动态代理定义 2.2 动态代理类比理解 2.3 动态代理参与者 2.4 动态代理步骤03.动态代理的实现3.1 罗列一个场景 3.2 用一个例子理解代理 3.3 基于接口动态代理 3.4 基于…

.NET 8.0 开源在线考试系统(支持移动端)

https://www.cnblogs.com/1312mn/p/18510576阅读目录前言 系统介绍 系统功能 支持环境 系统源码 项目部署 项目效果 项目总结 项目地址 最后前言 推荐一款基于.NET 8.0 免费开源跨平台在线考试系统,系统不仅支持桌面端,还特别优化了移动端的用户体验。 通过本系统可以轻松搭建…

GaussDB数据计算路由层(Coordinator)关键技术方案

GaussDB Kernel V5版本的Catalog还是本地存储, 所以还需要考虑catalog的持久化问题.未来演进元数据解耦,Coordinator 无状态, 就不需要考虑Catalog持久化问题了。但是跨节点场景下的事务提交在Coordinator上还是要持久化的。图14 Coordinator模块图 路由信息:每个表数据共分1…