Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。简单的来讲,对应的分别是查询,新增,修改,删除四种操作。基本已经满足了对于我们的大部分需求。

1.GET请求

一般情况下,通过接口查询相应的数据时一般是采用GET请求,

 @RequestMapping(value = "/order/{no}", method = RequestMethod.GET)public BaseResponse queryTaxiNo(@NotNull @PathVariable("no") String no) throws RuntimeException {return BaseResponse.success(apiTaxiService.queryTaxiNo(no));}

这里是采用的GET请求中的path参数,需要定义相应的注解来进行接收。

@RequestMapping(value = "/canUse", method = RequestMethod.GET)public BaseResponse getTaxiCanUse(@NotNull String estimate_price) throws RuntimeException {return BaseResponse.success(apiTaxiService.getTaxiCanUse(estimate_price));}

这里采用的是GET请求中的query参数,不需要定义相关的注解,拿到参数后进而去进行封装拼接,最后在接口路径后面跟上?进行请求即可。注意采用query格式的时候,参数是不加密的,所以重要数据的话还是要自己斟酌一下。

这里推荐一个参数拼接方法,如果参数为空则不进行拼接的话,可以采用这样的方法。

public static String GetKeyValueUrl(Map<String, Object> parmeters, boolean removeEmptyParameter) {String keyValueUrl = "";if (removeEmptyParameter) {for (Map.Entry<String, Object> e : parmeters.entrySet()) {if (!StringUtils.isEmpty(e.getValue())) {keyValueUrl += e.getKey() + "=" + e.getValue().toString() + "&";}}} else {for (Map.Entry<String, Object> e : parmeters.entrySet()) {keyValueUrl += e.getKey() + "=" + e.getValue().toString() + "&";}}if (keyValueUrl.endsWith("&")) {keyValueUrl = keyValueUrl.substring(0, keyValueUrl.length() - 1);}return keyValueUrl;}

简单的讲,前台首先用map接收需要拼接的参数,然后将map传进来的同时,传入一个true即可。最后用一个string类型接收即可。

另外一种不管参数是否为空都要拼接传值的话,可以适当采用另外一种方法。

 public String getSing(Map md5params) {//吧String[] keyList = arraysMap(md5params);//拼接参数String sing = null;for (int i = 0; i < keyList.length; i++) {if (sing != null) {sing = sing + keyList[i].toLowerCase() + "=" + md5params.get(keyList[i]) + "&";} else {sing = keyList[i].toLowerCase() + "=" + md5params.get(keyList[i]) + "&";}}sing = sing + "md5key=" + key;//MD532位加密并大写return DigestUtils.md5Hex(sing).toUpperCase();}

采用中间一部分即可。

2.POST方式

post方法一般用于创建订单或者创建的某个动作,有的公司还会将修改的操作也加入进来,讲实话,还是用post方法专注于一个动作最好。

这里是post方法中的formData格式,这种格式可以和普通的get传入参数一样,后台进行接收值即可,当然,这里值是加密的。

{"toStation": "suzhou","queryKey": "61091f6881f67ad1c847d9e17ee0edff","passengers": [{"birthday": "","passengerName": "","passengerType": "1","idType": "1","ticketPrice": "59.5","idCard": "****","seatClass": "firstseat","sex": "1"},{"birthday": "","passengerName": "","passengerType": "1","idType": "1","ticketPrice": "59.5","idCard": "****","seatClass": "firstseat","sex": "1"}],"orderNo": "","contactInfo": {"person": "","cellphone": ""},"acceptNoSeat": "0","appKey": "","trainNo": "","fromStation": ""
}

这就是第二种方式,自定义json传值,这个一般有两种做法,第一种就是前台定义好传入的json格式,后台定义相应的dto去进行接收(个人建议这种)。第二种就是后台定义jsonobject进行组装,然后在后台把定义好的json格式的参数传到第三方。。孰轻孰重想必不需要我多解释了。。。

3.PUT请求

put请求专注于update操作,但是与之相关的是还有一个patch请求,两者虽然都专注于update操作,但是前者是全局而言,后者是局限于某一条件或者范围而言,简单的说就是两者的粒度是不同的。大家可以百度一下。

put请求需要注意的是,虽然和post请求都是执行的改变动作,但是它所采用的参数传递需要用到query格式,否则是拿不到前台传递的参数,通俗的说就是参数为null.

4.DELETE请求

顾名思义,就是执行相应的删除操作,配合数据库进行相应的删除动作。

正常情况来讲,四种不同的请求方法用好以后,大部分的操作都是可以涵盖的了。

Http请求之GET,POST,PUT,DELETE方法详解相关推荐

  1. ASP.NET MVC 5 学习教程:Details 和 Delete 方法详解

    ASP.NET MVC 5 学习教程:Details 和 Delete 方法详解 原文 ASP.NET MVC 5 学习教程:Details 和 Delete 方法详解 在教程的这一部分,我们将研究一 ...

  2. 精讲响应式WebClient第2篇-GET请求阻塞与非阻塞调用方法详解

    本文是精讲响应式WebClient第2篇,前篇的blog访问地址如下: 精讲响应式webclient第1篇-响应式非阻塞IO与基础用法 在上一篇文章为大家介绍了响应式IO模型和WebClient的基本 ...

  3. node作为java中间间_node作为中间服务层如何发送请求(发送请求的实现方法详解)...

    GET请求: var http = require('http'); var qs = require('querystring'); var data = { a: 123, time: new D ...

  4. python headr方法_对Python发送带header的http请求方法详解

    简单的header import urllib2 request = urllib2.Request('http://example.com/') request.add_header('User-A ...

  5. 方舟服务器怎么请求芯片,方舟指令哔哩芯片这么获得?哔哩芯片获得方法详解分享...

    方舟指令哔哩芯片这么获得?哔哩芯片是目前游戏在10月25日更新后上线的道具,小伙伴们可能通过参加比赛获取哦!下面是小编分享的获取途径详解,感兴趣的可以一起来关注下哦! 哔哩芯片怎么获得? 活动时间: ...

  6. SpringBoot (6)---RestTemplate方法详解(2)

    SpringBoot (6)---RestTemplate方法详解(2) 说明 上一篇SpringBoot 2.1 | 第三篇:RestTemplate请求HTTP(1)简单运用了RestTempla ...

  7. zbb20180930 Postman 使用方法详解

    Postman 使用方法详解   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/fxbin123/article/details/80428216 ...

  8. 【前端用法】$.ajax()方法详解,以及$.ajax()标准写法

    使用JQuery中的异步请求$.ajax()方法,经常记不全参数,所以在这里记录一下,方便后续使用. 首先看一个标准的写法: $(document).ready(function () {$.ajax ...

  9. Postman 使用方法详解

    原创 Postman 使用方法详解 2019-07-21 23:28:42 痴乙 阅读数 494053更多 分类专栏: postman 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版 ...

最新文章

  1. 21个值得收藏的Javascript技巧
  2. python_xlsxwriter模块
  3. MusicXML 3.0 (15) - 倚音
  4. 在服务器上安装网站环境,如何在服务器上搭建JSP环境,需要安装哪些软件?
  5. 产品认知:产品经理需要具备哪些核心竞争力?
  6. § Transitive Intransitive Verb
  7. 新冠患者样本单细胞测序文献汇总
  8. SSL 1624——小萨的烦恼【最短路】【枚举】
  9. oracle有rtf函数,Delphi中对Oracle存取RTF文档(作者:苏涌)
  10. 【运维心得】只有百度能打开,其他页面打不开怎么办?
  11. 2022年危险化学品经营单位安全管理人员考试练习题及模拟考试
  12. Burp抓取MuMu模拟器数据包
  13. 沈阳工业大学计算机专业排名,中国的大学计算机专业排名。
  14. RN 入门(二)—基础知识
  15. 蓝牙音箱延迟测试软件,“Latency Test”详细操作流程,一款测试TWS耳机延迟的软件...
  16. 详解强大的SQL注入工具——SQLMAP
  17. 关于 SQL Server Reporting Services 匿名登录的解决方案
  18. MATLAB 动态曲线 视频
  19. Sublime Text 3 装了Anaconda 写Python代码出现框框的解决办法
  20. 【经典论文】ResNeXt

热门文章

  1. 8QAM 调制解调 代码
  2. 微信小程序 JS中遍历后台获取的data数据并赋值
  3. Echarts 柱状图,带背景色且数值显示在最顶部
  4. 音视频FLV合成实战
  5. 【leetcode】二维子矩阵的和
  6. java高级——认识网络
  7. win10系统修改hosts文件无法保存
  8. PTA:宿舍谁最高?
  9. 【前端去重】数组去重字符串去重对象去重
  10. Numpy数组与矩阵(三)