300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Http请求之GET POST PUT DELETE方法详解

Http请求之GET POST PUT DELETE方法详解

时间:2018-09-03 20:05:22

相关推荐

Http请求之GET POST PUT DELETE方法详解

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请求

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。