Restful对于URL的简化

  REST是英文representational state transfer(表象性状态转变)或者表述性状态转移,它是web服务的一种架构风格。使用HTTP,URI,XML,JSON,HTML等广泛流行的标准和协议;轻量级,跨平台,跨语言的架构设计;它是一种设计风格,不是一种标准,是一种思想。

  Rest架构的主要原则:
      网络上的所有事物都被抽象为资源;
     每个资源都有一个唯一的资源标识符;
     同一个资源具有多种表现形式(xml,json等);
     对资源的各种操作不会改变资源标识符;
     所有的操作都是无状态的;
     符合REST原则的架构方式即可称为RESTful。

  什么是Restful?对应的中文是rest式的;Restful web service是一种常见的rest的应用,是遵守了rest风格的web服务;rest式的web服务是一种ROA(The Resource-Oriented Architecture)(面向资源的架构)。

   为什么会出现Restful?
  在Restful之前的操作:
  http://127.0.0.1/user/query/1 GET  根据用户id查询用户数据
  http://127.0.0.1/user/save POST 新增用户
  http://127.0.0.1/user/update POST 修改用户信息
  http://127.0.0.1/user/delete GET/POST 删除用户信息

  RESTful用法:
  http://127.0.0.1/user/1 GET  根据用户id查询用户数据
  http://127.0.0.1/user  POST 新增用户
  http://127.0.0.1/user  PUT 修改用户信息
  http://127.0.0.1/user  DELETE 删除用户信息

  

  SpringMVC原生态的支持了REST风格的架构设计,所涉及到的注解:

---@RequestMapping
---@PathVariable
---@ResponseBody

   前端访问页面index.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html><head><title>$Title$</title></head><body><a  href="/test1.html">去Controller的test1</a><a  href="/test2.html">去测试性能监控</a><hr>普通方式<br><a href="/test2/delete.html?delID=AA">删除这个数据A</a><a href="/test2/delete.html?delID=BB">删除这个数据B</a><a href="/test2/delete.html?delID=CC">删除这个数据C</a><a href="/test2/delete.html?delID=DD">删除这个数据D</a><a href="/test2/delete.html?delID=EE">删除这个数据E</a>演示一下Resful<br><a href="/test2/delete/AA/数据A.html">删除这个数据A</a><!-- AA和数据A,是给后台传输的两个数据  --><a href="/test2/delete/BB/数据B.html">删除这个数据B</a><a href="/test2/delete/CC/数据C.html">删除这个数据C</a><a href="/test2/delete/DD/数据D.html">删除这个数据D</a><a href="/test2/delete/EE/数据E.html">删除这个数据E</a></body>/
</html>

   后台控制器TestController2.java:

package com.itszt.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
/*** 测试RestFul*/
@RequestMapping("test2")
@Controller
public class TestController2 {@RequestMapping("delete/{delID}/{delTitle}")public String delete(@PathVariable(name = "delID") String delID, @PathVariable(name = "delTitle") String delTitle) {System.out.println("delID = [" + delID + "], delTitle = [" + delTitle + "]");return "result";}
} 

转载于:https://www.cnblogs.com/lizhangyong/p/8979261.html

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

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

相关文章

从文件中读出数据显示在表格中_玩转表格:如何在Word表格中进行数据计算?...

Word文档中的表格也可以进行数据运算的。例如&#xff0c;要对表格中第1季度的数据进行求和计算时&#xff0c;具体操作方法如下。1第1步&#xff1a;将光标置于要输入合计值的单元格中&#xff0c;切换到【表格工具】栏中的【布局】选项卡中&#xff0c;在【数据】组中单击【公…

第八讲:tapestry组件

2019独角兽企业重金招聘Python工程师标准>>> tapestry组件有不少&#xff0c;具体的使用方法可去官网了解&#xff0c;常用的组件会在以后的教程中讲到。这篇文章主要以pagelink为例&#xff0c;简单讲解下组件通常使用的方法&#xff0c;以下可看出同是跳转到Index…

锁存器的工作原理_数字电路学习笔记(十):更多锁存器和触发器

上一章中提到了普通RS锁存器的两大缺点&#xff1a;1. S端口和R端口不能同时有效&#xff0c;但实际应用中不能保证这种情况不出现&#xff0c;此时可能会出错&#xff1b;2. 在计算机中&#xff0c;有许多内存单元协同组成一个寄存器&#xff0c;存储同一个数据。但每一位数据…

高级筛选的以公式结果为条件

群里有朋友问到一个“高级筛选”的问题&#xff1a; 如何筛选出名称列中所有以“A"开头&#xff0c;以“E”到“G”结尾的数据&#xff1f; 这让我想到了高级筛选中“以公式结果作为条件”的方法。很久不用已经生疏了&#xff0c;温习了下&#xff0c;结果如下&#xff1a…

怎么求平均数_EXCEL怎么求企业连续几年业绩的平均增长率

如果你是个秘书&#xff0c;老板哪天问你&#xff0c;我们公司过去三年业绩的平均增长率是多少呢&#xff1f;你该怎么算呢&#xff1f;每年的增长率加起来直接除以3&#xff1f;如下图&#xff1a;报告老板&#xff0c;我们过去三年的平均增长率11%&#xff0c;老板乐开了花。…

linux常用命令:top 命令

top命令是Linux下常用的性能分析工具&#xff0c;能够实时显示系统中各个进程的资源占用状况&#xff0c;类似于Windows的任务管理器。下面详细介绍它的使用方法。top是 一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止…

Ext.form.field.ComboBox组合框

1、Ext.form.field.ComboBox主要配置 Ext.form.field.ComboBox主要配置项 配置项类型说明allQueryString发往服务器用来查询全部信息的查询字符串&#xff0c;默认为空autoSelectBoolean是否自动选择第一个列表值&#xff0c;默认为truedefaultListConfigObject listConfig配置…

联想服务器开启虚拟化,联想电脑虚拟化开启方法

适用范围:联想电脑操作步骤:1、Intel平台笔记本&#xff1a;进入BIOS&#xff0c;选择configuration的选项&#xff0c;找到Intel Virtual Technology&#xff0c;改成Enable的开启状态。2、AMD平台的笔记本&#xff1a;进入BIOS&#xff0c;选择configuration的选项&#xf…

绘制半圆_超细致:Ai绘制萌蠢可爱卡通形象

来源&#xff1a;Envato艺云台原文作者&#xff1a;Amanda Tepie 翻译&#xff1a;Yimin Zhou完成效果在这篇教程中&#xff0c;我将展示如何在Adobe Illustrator中使用基本图形工具、路径查找器、宽度和描边工具创建一个可爱的呆萌兽。完了你还可以利用这些技巧绘制其他卡通…

服务器系统装软路由,服务器系统设置软路由

服务器系统设置软路由 内容精选换一换无法正常使用Cloud-init。弹性云服务器获取Metadata的流程如图1所示&#xff1a;获取Metadata流程图您可以按照以下原因进行排查&#xff0c;如果解决完某个可能原因仍未解决问题&#xff0c;请继续排查其他可能原因。检查弹性云服务器是否…

Scrapy-redis实现分布式爬取的过程与原理

Scrapy是一个比较好用的Python爬虫框架&#xff0c;你只需要编写几个组件就可以实现网页数据的爬取。但是当我们要爬取的页面非常多的时候&#xff0c;单个主机的处理能力就不能满足我们的需求了&#xff08;无论是处理速度还是网络请求的并发数&#xff09;&#xff0c;这时候…

华为服务器如何登录修改密码,如何修改云服务器的登录密码

如何修改云服务器的登录密码 内容精选换一换本节为您介绍如何通过控制台提供的远程登录功能(即VNC方式)登录到弹性云服务器上。登录成功后&#xff0c;如需使用VNC界面提供的复制、粘贴功能&#xff0c;请参见后续处理。对于“密钥对”方式创建的Linux弹性云服务器&#xff0c;…

云服务器有i5的性能吗,i5云服务器

i5云服务器 内容精选换一换查询指定后端云服务器组的后端云服务器。支持过滤查询和分页查询。如未特殊说明&#xff0c;匹配规则为精确匹配。GET /v2/{project_id}/elb/pools/{pool_id}/members无请求样例1 全量查询后端云服务器GET https://{Endpoint}/v2/1a3e005cf9ce40308c9…

windows下MongoDB的安装及配置

https://blog.csdn.net/heshushun/article/details/77776706 一、先登录Mongodb官网https://www.mongodb.com/download-center#community 下载 安装包。32、64位的都行。 二、安装MongoDB 下载后的安装包&#xff1a; 安装比较简单&#xff0c;类似于普通QQ软件&#xff0c;中…

CSS3实现多样的边框效果

CSS3实现多样的边框效果 原文:CSS3实现多样的边框效果半透明边框 实现效果&#xff1a; 实现代码&#xff1a; <div> 你能看到半透明的边框吗&#xff1f; </div>div {/* 关键代码 */border: 10px solid rgba(255,255,255,.5);background: white;background-clip: …

mysql 导入json_JsonToMysql(json导入mysql数据库工具)

JsonToMysql是款功能强大的json导入mysql数据库工具&#xff1b;用户在进行开发数据库、或者完成对相关的数据库维护的时候&#xff0c;经常需要将JSON的数据导入到数据库里面&#xff0c;如果没有专业的工具&#xff0c;就会对您的时间浪费&#xff0c;也会对工作的效率影响&a…

使用mysql事件_MySQL事件的使用详解

在系统管理或者数据库管理中&#xff0c;经常要周期性的执行某一个命令或者SQL语句。这个时候就会用到mysql事件&#xff0c;使用这个功能必须保证是mysql的版本是5.1以上。1.首先要查看事件是否开启了&#xff0c;SHOW VARIABLES LIKE event_scheduler;SELECT event_scheduler…

iPad 如何创建UISplitViewController应用程序

原文摘自&#xff1a;UISplitViewController的使用。UISplitViewController在ipad中的使用ipad的屏幕比iphone大&#xff0c;所以在界面上&#xff0c;ipad比iphone多一个UISplitViewController&#xff0c;用来实现ipad在横屏时&#xff0c;分两栏显示所需要的界面&#xff0c…

navicat怎么导出mysql_navicat怎么把数据库导出

Navicat是一套快速、可靠并价格相当便宜的数据库管理工具&#xff0c;专为简化数据库的管理及降低系统管理成本而设。下面我们就为大家介绍一下如何使用naviact把数据库导出。使用Navicat连接到mysql&#xff0c;然后选中你要导出的数据库&#xff0c;右键&#xff0c;选择转储…

Windows 2003下网络负载平衡(负载均衡)的配置

网络负载平衡(网络负载均衡、NLB、集群)概述 首先&#xff0c;我们先了解下 Windows 2003 自带的 负载平衡(负载均衡)—— Network Load Balancing&#xff0c;简称NLB。NLB是一种集成高可用性&#xff0c;高可靠性和高扩展性的集群。它不但能实现均衡负载&#xff0c;而且还能…