1.什么是 resultful

一种软件架构风格 :如下

GET       /student     //查找所有学生

GET       /student/1  //查找id为1的学生

POST     /student     //新增一个学生

PUT     /student/1     //修改id为1的学生

DELETE  /student/1  //删除id为1的学生

使用同一个URL,请求方式:get/post/delete/put区分不同的处理方法。

这样可以在前后台分离的开发中让前端开发人员不会对请求的资源地址产生混淆,形成一个统一的接口。

2.  Spring MVC中的resstful应用

利用@RequestMapping 指定要处理请求的url模板和http请求的动作类型。

利用@PathVariable将url请求模板中的变量映射到处理方法参数上。

一般的应用格式如下:
    @RequestMapping(value="/{url}",method=RequestMethod.GET)

@RequestMapping(value="/{url}",method=RequestMethod.GET)
    @RequestMapping(value="/{url}",method=RequestMethod.POST)
    @RequestMapping(value="/{url}",method=RequestMethod.DELETE)
    @RequestMapping(value="/{url}",method=RequestMethod.PUT)

 @RequestMapping(value="/api/{questionTypeId}/{chapterId}",method=RequestMethod.GET,produces="text/html;charset    =UTF-8")

 public void queryQuByTypeIdAndChaID(HttpServletRequest request,HttpServletResponse response,@PathVariable      String questionTypeId,@PathVariable String chapterId ){

    }

参考文档:https://blog.csdn.net/weide_java/article/details/53793769

3.SpringBoot中的resstful应用

在整个类上添加注解

@requestMapping(value="api/usersync",pricuce="application/json",charset="utf-8")   //pricuce是指返回的数据类型。3

在方法上添加注解

@Postmapping     //新增接口

public  void  createUser(@RequestBody User user){}      //@RequestBody 指接受的数据类型参数是json格式

调用:/api/usersync

@putmapping(“/{userId}”)    //修改接口

public  void  updateuser(@Pathvariable(name="userId") String userId, @RequestBody User user){}  //此处的userId就是路径      中的参数 {userId}

调用:/api/usersync/001

@getmapping

public  void  getUserList(@RequestParam("type") String type,@RequestParam("num") String num){}   //@RequestParam这        个注解的参数是必填的

调用:/api/usersync?tyoe=1&num=10

@getmapping("/{userId}")

public  void  getUserList(Pathvariable(name="userId") String userId) {}

调用:/api/usersync/userId

@Pathvariable  是将路径中的变量映射到参数中

@RequestParam  是必传的参数

4.解决postman传参为中文报错400问题

参考文档:https://blog.csdn.net/zt15732625878/article/details/98792654

resultful接口开发相关推荐

  1. php接口 汉字出错 空,php接口开发时,数据解析失败问题,字符转义,编码问题(示例代码)...

    php接口开发时,数据解析失败问题,字符转义,编码问题 情景: A平台--->向接口请求数据---->接口向B平台请求数据---->B平台返回数据给接口---->接口返回数据给 ...

  2. 《Web接口开发与自动化测试 -- 基于Python语言》 ---前言

    前    言 本书的原型是我整理一份Django学习文档,从事软件测试工作的这六.七年来,一直有整理学习资料的习惯,这种学习理解再输出的方式对我非常受用,博客和文档是我主要的输出形式,这些输出同时也帮 ...

  3. 一周的微信公众平台接口开发总结

    2019独角兽企业重金招聘Python工程师标准>>> 在公司弄了一个星期的微信公众平台的接口开发,由于之前没弄过,开发的过程遇到了很多的小问题.下面我就总结一下我在开发过程中遇到了 ...

  4. php限制接口访问次数_PhalApi专业版 v2.4 版本发布!接口开发,快人一步

    dogstar 小白开放平台 今天 PhalApi专业版介绍 PhalApi Pro 是PhalApi开源接口框架的专业版, 基于主流的PHP+MySQL,是一款开发和管理接口的超级框架. 从接口设计 ...

  5. php 接口 2.0,YII 2.0 API接口开发

    YII2.0 API接口开发 首先先安装 YII2.0 高级模板(安装请参考其他教程) 准备 添加数据库配置 common/config/main-local.php image 把backend目录 ...

  6. php 动态彩码辨色 接口的调用_好用的云函数!后端低代码接口开发,零基础编写API接口...

    前言 在开发项目过程中,经常需要用到API接口,实现对数据库的CURD等操作. 不管你是专业的PHP开发工程师,还是客户端开发工程师,或者是不懂编程但懂得数据库SQL查询,又或者是完全不太懂技术的人, ...

  7. 浅谈 PHP 与手机 APP 开发(API 接口开发)

    http://www.thinkphp.cn/topic/5023.html 推荐阅读:RESTful 是什么?一起来理解 RESTful 架构 更深入了解API开发 这个帖子写给不太了解PHP与AP ...

  8. 微信JS-SDK之图像接口开发详解

    2019独角兽企业重金招聘Python工程师标准>>> 参考: 微信JS-SDK之图像接口开发详解 http://www.cnblogs.com/it-cen/p/4587812.h ...

  9. 说说第三方支付接口开发及开发中遇到的坑爹问题

    前言 最近在做公司的支付接口,从微信支付到各种第三方的支付接口,还有点卡等支付,微信支付文档相对比较详细,虽然也不少坑,被各路开发人员吐槽,但是填的人多啊,所以是最好开发的,但是公司还有用到一些第三方 ...

最新文章

  1. 如何将cocos2d-x程序分别移植到ios,android,windowsphone三个手机平台上
  2. 利用python爬取IP地址归属地等信息!
  3. “自拍神器”贴心实用功能大曝光
  4. MS SQL入门基础:移动数据库
  5. 【深度学习】深度学习安防的探索与实践
  6. acegis连接使用方法_正确打开效果器 连接方法和使用技巧必须要知道
  7. apache karaf_未来是Apache Karaf上的微服务架构
  8. c++清空一个txt文本_Linux下常用文本处理命令大全
  9. php解析html类库simple_html_dom(2)
  10. 取色器——TakeColor绿色安全简单
  11. html+css静态页面Demo(参考一唯科技官网)
  12. Android反编译工具总结
  13. ubuntu 安装 tree 命令
  14. C++for循环经典九九乘法表打印
  15. 在网页上查看App Store的app介绍
  16. matlab gmm,GMM聚类及Matlab代码实现
  17. FastAdmin下拉显示
  18. bat 引号 嵌套_边缘检测 使用 OpenCV 和 深度学习 进行整体嵌套边缘检测
  19. 职场技巧:高效实用的四象限法则
  20. java - 数据库账号的加密解密

热门文章

  1. 如何利用树莓派制作路由器
  2. 高德地图-2D转换为3D
  3. python封装exe后其他人能用么_python用tesseract写的图片识别,封装exe后,本机可以用,软件放别的电脑上无法图......
  4. 【Android -- 技术周刊】第 020 期
  5. Android动画总结系列(2)——补间动画使用
  6. Linux的内核设计与实现之进程管理(含源码)
  7. 华为手机如何与台式计算机连接不上,华为手机怎样与电脑连接?USB数据线及WLAN无线两种连接电脑方式介绍...
  8. Java笔试面试题三(编程算法)
  9. 【详细】阿里云Accesskey创建步骤记录
  10. Auto.js Pro 调起APP并跳转至指定页面