RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。
RESTFUL适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动网络资源的功能,
动作类型为新增、变更、删除所调用资源。---百度百科

  以前使用最多的请求方式还是post,post一时爽一直post一直爽,直到我接触了restful风格API,嗯真香!
我就简单展示一下我怎么使用的,太深刻的理论原理咱也不懂咱也不敢讲!

请求路径      请求方法      作用
/user/1 HTTP   GET       查询id为1的user
/user/1 HTTP   DELETE      删除id为1的user
/user/1 HTTP   PUT       编辑id为1的user
/user HTTP      POST       新增user

新增和修改一般是使用@RequestBody获取整个body

    @PostMapping(value = "/user")
public Message insert(@RequestBody User user) {
try {
userService.insert(user);
return Message.ok();
} catch (Exception e) {
logger.error(e.getMessage(), e);
return Message.fail();
}
} @PutMapping(value = "/user")
public Message update(@RequestBody User user) {
try {
userService.update(user);
return Message.ok();
} catch (Exception e) {
logger.error(e.getMessage(), e);
return Message.fail();
}
}

当需要从请求路径中获取参数的时候就只能使用@PathVariable注解,删除的时候一般只需要传id,通过url带参就可以了

 @DeleteMapping(value = "/user/{id}")
public Message logicalDeletionById(@PathVariable(name = "id") String id) {
try {
userService.logicalDeletionById(id);
return Message.ok();
} catch (Exception e) {
logger.error(e.getMessage(), e);
return Message.fail();
}
}

如果需要多条件查询就用对象传查询条件,下次讲SpringBoot+Jpa多条件查询+分页+排序

    @GetMapping(value = "/user")
public Message findAll() {
try {
return new MessageBox<>(userService.findAll());
} catch (Exception e) {
logger.error(e.getMessage(), e);
return Message.fail();
}
}

RESTFUL风格的URL请求及参数接收的更多相关文章

  1. 针对Restful风格参数传递的请求获取真实url

    昨天遇到这样一个问题,先简单介绍下. 业务场景 我们想要统计热点请求URL,进而进行分析优化 方案 通过过滤器获取到请求url(调用方法request.getservletpath),通过redis进 ...

  2. spring boot / cloud (十四) 微服务间远程服务调用的认证和鉴权的思考和设计,以及restFul风格的url匹配拦截方法

    spring boot / cloud (十四) 微服务间远程服务调用的认证和鉴权的思考和设计,以及restFul风格的url匹配拦截方法 前言 本篇接着<spring boot / cloud ...

  3. springMVC的rest风格的url请求

    rest是一个架构风格,用url来访问网络上的任何资源.rest的一种思想就是用http中的动作get,post,put,delete,来进行增删改查. 这里介绍的是springMVC的rest请求. ...

  4. Objective-C中把URL请求的参数转换为字典

    上一篇博客中是把URL转换为字典,那么我们如何把URL请求中的参数封装成字典,然后再封装成数组呢?对OC中字符串操作熟练的小伙伴们应该觉得这是一个a+b的问题,没错把URL中的参数转换为字典主要是对字 ...

  5. 解决backbone url请求中参数有中文,存入数据库是乱码

    最近项目用到了backbone 做前后端的分离方案,遇见了中文乱码问题,解决方案总结如下: 假设需要存一条课程记录到后台   model定义如下: var AddCourse= Backbone.Mo ...

  6. Retrofit2.0+OkHttp打印Request URL(请求地址参数)

    学习了Retrofit中的拦截器功能:实现日志中打印请求头内容 Retrofit 2+ 是基于OKHttp进行封装的,那么也就是说想进行请求拦截然后进行打印出来的话,就必须要从OkHttp进行入手. ...

  7. SpringMVC RESTful风格URL处理带点的参数

    使用了RESTful风格的URL.但是在处理带点的搜索参数,比如baidu.com的时候,后台就取不到正确的参数了. 搜索了下原因,原来是SpringMVC将点号看作扩展分隔符号了,因此后台没法拿到正 ...

  8. Aspnet Mvc 前后端分离项目手记(三)关于restful 风格Url设计

    RESTful 不是新东西,简单理解它的核心思想就是最大程度的利用http协议的一些特点,比如uri,比如请求动词,在前后端分离的项目中会有大大的好处 ,好的设计的url简单明了,胜过详细的说明文档. ...

  9. SpringMVC响应Restful风格请求404

    在学习Springmvc时,使用Restful风格的url,页面提示404错误.为找到原因,编写一个简单的Restful测试用例如下: jsp页面: <a href="user/tes ...

随机推荐

  1. Xenon's Attack on the Gangs,题解

    题目: 题意: 有一个n个节点的树,边权为0-n-2,定义mex(a,b)表示除了ab路径上的自然数以外的最小的自然数,求如何分配边权使得所有的mex(a,b)之和最大. 分析: 看似有点乱,我们先不 ...

  2. Python——查看目录下所有的目录和文件

    写程序我们经常会遇到需要遍历某一个目录下的所有文件这个操作,然而python有现成的库,只需要2个循环就可以搞定. import os def all_path(dirname): result = ...

  3. STL测试2)计算器简单实现

    实现一个基本的计算器来计算一个简单的字符串表达式的值. 字符串表达式可以包含左括号 ( ,右括号 ),加号 + ,减号 -,非负整数和空格  . 示例 1: 输入: "1 + 1" ...

  4. day36 作业

    客户端 import struct import json from socket import * client=socket(AF_INET,SOCK_STREAM) # client.conne ...

  5. python 并发专题(四):yield以及 yield from

    一.yield python中yield的用法很像return,都是提供一个返回值,但是yield和return的最大区别在于,return一旦返回,则代码段执行结束,但是yield在返回值以后,会交 ...

  6. 目录(Python基础)

    Python之介绍.基本语法.流程控制 Python之列表.字典.集合 Python之函数.递归.内置函数 Python之迭代器.装饰器.软件开发规范 Python之常用模块学习(一) Python之 ...

  7. 深入理解Java虚拟机--个人总结(持续更新)

    深入理解Java虚拟机--个人总结(持续更新) 每天按照书本学一点,会把自己的总结思考写下来,形成输出,持续更新,立帖为证 -- 2020年7月7日 开始第一次学习 -- 2020年7月8日 今天在百 ...

  8. 太实用了!自己动手写软件——GUI编程

    这几天我有一个想法就是将我之前做测试写的一些协议脚本(如:ssh.FTP.SMTP.MySQL.Oracle等)综合在一起做一个密码PJ器,这么多的协议放在一起,每个协议都有自己特殊的参数,如果还是和 ...

  9. (6)webpack使用babel插件的使用

    为什么要使用babel插件? 首先要了解babel插件是干嘛的,随着js的语法规范发展,出现了越来越多的高级语法,但是使用webpack打包的时候,webpack并不能全部理解这些高级语法,需要我们使 ...

  10. web测试中不容忽视的细节

    最近在自动化测试的圈子里,我总是碰到很多人在群里和其他地方问为什么这个会出现错误? 为什么这个运行不了?为什么我百度了还是没用? 其实真正的原因可能是你忽略了下面这些需要注意的小地方: 1.页面分辨率 ...