码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • SpringMVC基础:RestFul风格


    RestFul风格

    中文释义为“表现层状态转换”(名字挺高大上的),它不是一种标准,而是一种设计风格。它的主要作用是充分并正确利用HTTP协议的特性,规范资源获取的URI路径。通俗的讲,RESTful风格的设计允许将参数通过URL拼接传到服务端,目的是让URL看起来更简洁实用,并且我们可以充分使用多种HTTP请求方式(POST/GET/PUT/DELETE),来执行相同请求地址的不同类型操作。

    因此,这种风格的连接,我们就可以直接从请求路径中读取参数,比如:

    http://localhost:8080/mvc/index/123456

    我们可以直接将index的下一级路径作为请求参数进行处理,也就是说现在的请求参数包含在了请求路径中:

    1. @RequestMapping("/index/{str}")
    2. public String index(@PathVariable String str) {
    3. System.out.println(str);
    4. return "index";
    5. }

    注意请求路径我们可以手动添加类似占位符一样的信息,这样占位符位置的所有内容都会被作为请求参数,而方法的形参列表中必须包括一个与占位符同名的并且添加了@PathVariable注解的参数,或是由@PathVariable注解指定为占位符名称:

    1. @RequestMapping("/index/{str}")
    2. public String index(@PathVariable("str") String text){
    3. System.out.println(text);
    4. return "index";
    5. }

    如果没有配置正确,方法名称上会出现黄线。

    我们可以按照不同功能进行划分:

    • POST http://localhost:8080/mvc/index  -  添加用户信息,携带表单数据
    • GET http://localhost:8080/mvc/index/{id}  -  获取用户信息,id直接放在请求路径中
    • PUT http://localhost:8080/mvc/index  -  修改用户信息,携带表单数据
    • DELETE http://localhost:8080/mvc/index/{id}  -  删除用户信息,id直接放在请求路径中

    我们分别编写四个请求映射:

    1. @Controller
    2. public class MainController {
    3. @RequestMapping(value = "/index/{id}", method = RequestMethod.GET)
    4. public String get(@PathVariable("id") String text){
    5. System.out.println("获取用户:"+text);
    6. return "index";
    7. }
    8. @RequestMapping(value = "/index", method = RequestMethod.POST)
    9. public String post(String username){
    10. System.out.println("添加用户:"+username);
    11. return "index";
    12. }
    13. @RequestMapping(value = "/index/{id}", method = RequestMethod.DELETE)
    14. public String delete(@PathVariable("id") String text){
    15. System.out.println("删除用户:"+text);
    16. return "index";
    17. }
    18. @RequestMapping(value = "/index", method = RequestMethod.PUT)
    19. public String put(String username){
    20. System.out.println("修改用户:"+username);
    21. return "index";
    22. }
    23. }

  • 相关阅读:
    基于SpringBoot的线上买菜系统
    ImmunoChemistry艾美捷高级钙素AM细胞活力试剂盒方案
    【深度学习笔记】9_5 多尺度目标检测
    let’s go——2022年读书活动招募书(第1期)
    Android 常用布局介绍
    VLANIF配置
    刚刚:腾讯云3年轻量2核2G4M服务器优惠价格366元三年
    基于java多特蒙德周边商城系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署
    MySQL之数据视图
    Android 13.0 Launcher3定制之双层改单层(去掉抽屉式三)
  • 原文地址:https://blog.csdn.net/Leon_Jinhai_Sun/article/details/126573309
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号