SpringBoot(1) HTTP接口请求

一、HTTP请求配置讲解

简介:SpringBoot2.x  HTTP请求注解讲解和简化注解配置技巧

1、@RestController和@RequestMapping是springMVC的注解,不是springboot特有的
2、@[email protected][email protected]
3、@[email protected][email protected][email protected]

二、接口工具PostMan用于接口调试

基本功能,如图

左侧功能栏:History为近期的测试脚本历史记录;Collections为以postman官网API为例的脚本实例,也可以新建文件夹,用于放置不同测试脚本的文件集合;

主界面:可以选择HTTP请求的方法,填写URL、参数,cookie管理、脚本保存&另存为等功能。

三、HTTP接口GET请求

  1 //测试http协议的get请求
  2 @RestController
  3 public class GetController {
  4
  5     private Map<String,Object> params = new HashMap<>();
  6
  7     /**
  8      * 功能描述:测试restful协议,从路径中获取字段
  9      * @param cityId
 10      * @param userId
 11      * @return
 12      * 注意:传递参数都用小写
 13      *
 14      * 前端:localhost:8080/100/20
 15      */
 16     @RequestMapping(path = "/{city_id}/{user_id}", method = RequestMethod.GET)
 17     public Object findUser(@PathVariable("city_id") String cityId,
 18             @PathVariable("user_id") String userId ){
 19         params.clear();
 20
 21         params.put("cityId", cityId);
 22         params.put("userId", userId);
 23
 24         return params;
 25
 26     }
 27
 28     /**
 29      * 功能描述:测试GetMapping
 30      * @param from
 31      * @param size
 32      * @return
 33      *
 34      * 前端:localhost:8080/v1/page_user1?from=0&size=10
 35      */
 36     @GetMapping(value="/v1/page_user1")
 37     public Object pageUser(int  from, int size ){
 38         params.clear();
 39
 40         params.put("from", from);
 41         params.put("size", size);
 42
 43         return params;
 44
 45     }
 46
 47     /**
 48      * 功能描述:默认值,是否必须的参数
 49      * @param from
 50      * @param size
 51      * @return
 52      */
 53     @GetMapping(value="/v1/page_user2")
 54     public Object pageUserV2(@RequestParam(defaultValue="0",name="page") int  from, int size ){
 55
 56         params.clear();
 57         params.put("from", from);
 58         params.put("size", size);
 59
 60         return params;
 61
 62     }
 63
 64
 65     /**
 66      * 功能描述:bean对象传参
 67      * 注意:1、注意需要指定http头为 content-type为application/json
 68      *         2、使用body传输数据
 69      * @param user
 70      * @return
 71      */
 72     @RequestMapping("/v1/save_user")
 73     public Object saveUser(@RequestBody User user){
 74         params.clear();
 75         params.put("user", user);
 76         return params;
 77     }
 78
 79     /**
 80      * 功能描述:测试获取http头信息
 81      * @param accessToken
 82      * @param id
 83      * @return
 84      */
 85     @GetMapping("/v1/get_header")
 86     public Object getHeader(@RequestHeader("access_token") String accessToken, String id){
 87         params.clear();
 88         params.put("access_token", accessToken);
 89         params.put("id", id);
 90         return params;
 91     }
 92
 93     @GetMapping("/v1/test_request")
 94     public Object testRequest(HttpServletRequest request){
 95         params.clear();
 96         String id = request.getParameter("id");
 97         params.put("id", id);
 98         return params;
 99     }
100
101 }

四、HTTP接口POST,PUT,DELETE请求

 1 //测试http协议的post,del,put请求
 2 @RestController
 3 public class OtherHttpController {
 4
 5     private Map<String,Object> params = new HashMap<>();
 6
 7     /**
 8      * 功能描述:测试PostMapping
 9      * @param accessToken
10      * @param id
11      * @return
12      */
13     @PostMapping("/v1/login")
14     public Object login(String id, String pwd){
15         params.clear();
16         params.put("id", id);
17         params.put("pwd", pwd);
18         return params;
19     }
20
21     @PutMapping("/v1/put")
22     public Object put(String id){
23         params.clear();
24         params.put("id", id);
25         return params;
26     }
27
28     @DeleteMapping("/v1/del")
29     public Object del(String id){
30         params.clear();
31         params.put("id", id);
32         return params;
33     }
34
35 }

原文地址:https://www.cnblogs.com/platycoden/p/9778174.html

时间: 2024-10-23 21:30:20

SpringBoot(1) HTTP接口请求的相关文章

SpringBoot下支付宝接口的使用

SpringBoot下支付宝接口的使用 前期准备: 参考之前写过的 支付宝接口引入servlet版本 Jar包引入: <!-- 支付宝 --> <dependency> <groupId>net.guerlab</groupId> <artifactId>sdk-alipay-starter</artifactId> <version>${alipay.version}</version> </depen

java springboot调用第三方接口 借助hutoool工具类 爬坑

楼主是个后端小白一枚,之前没接触过后端,只学了java基本语法,还是在学校老师教的,学的很浅,什么ssh.ssm框架都没有学,最近在自学spring boot,看书学也看不是很懂,就在b站上看教学视频,大概看了几个老师讲的,最后选了尚硅谷的视频,老师讲的很好,有点偏向底层源码解析,讲的很细,对我这个新手小白来说也不知道好不好,反正我就是跟着看了.最近接到超哥布置的一个任务,spring boot调用第三方接口,下面就讲讲我这个新手小白是怎么一步一步磕出来结果的,顺便记录一下,免得我后面忘了. 首

HttpClient发送get,post接口请求

HttpClient发送get post接口请求 /** * post * @param url POST地址 * @param data POST数据NameValuePair[] * @return 响应的参数 */ public static String post(String url,NameValuePair[] data){---------------get里面没有data只有url String response = ""; HttpClient httpClient

支付宝手机网页即时到账接口(2)之授权接口请求

前言 这篇文章主要讲诉系统调用支付宝手机网页即时到账授权接口获取支付宝返回的request_token. 上篇文章地址:支付宝手机网页即时到账接口(1)之相关信息介绍. 这是上篇文章结尾调用授权接口的图解. 官方文档中对授权接口的说明是: 商户利用编程方法来模拟http请求远程解析html,获取支付宝返回的结果数据后,可以结合自身网站的业务逻辑进行数据处理. 说明中不难看出我们的代码中需要模拟http提交参数,然后解析支付宝返回的结果再进行处理.该项目是用java编写的,所以后续代码也是用jav

OpenNebula Restfull 接口请求示例

Fri Jun 20 07:28:20 2014 [I]: 10.0.2.2 - - [20/Jun/2014 07:28:20] "POST /vmtemplate HTTP/1.1" 201 815 0.7095Fri Jun 20 07:28:59 2014 [I]: 10.0.2.2 - - [20/Jun/2014 07:28:59] "GET /vmtemplate/0 HTTP/1.1" 200 936 0.0734Fri Jun 20 07:29:0

SpringBoot多跨域请求的支持(JSONP)

在我们做项目的过程中,有可能会遇到跨域请求,所以需要我们自己组装支持跨域请求的JSONP数据,而在4.1版本以后的SpringMVC中,为我们提供了一个AbstractJsonpResponseBodyAdvice的类用来支持jsonp的数据(SpringBoot接收解析web请求是依赖于SpringMVC实现的).下面我们就看一下怎么用AbstractJsonpResponseBodyAdvice来支持跨域请求. 使用AbstractJsonpResponseBodyAdvice来支持跨域请求

xmprpc实现bugzilla api调用(无会话保持功能,单一接口请求)

xmprpc实现bugzilla4   xmlrpc api调用(无会话保持功能,单一接口请求),如需会话保持,请参考我的另外一篇随笔(bugzilla4的xmlrpc接口api调用实现分享: xmlrpc + https + cookies + httpclient +bugzilla + java实现加密通信下的xmlrpc接口调用并解决登陆保持会话功能 (2015-06-08 18:53)) 第一步: 在pom.xml中导入 (如果不是maven工程,直接去下载jar包引入即可) <dep

gulp 环境配置——cdn地址、接口请求地址自动添加、seajs混淆压缩等

一.src目录结构 ├─statics│ ├─css│ │ ├─common│ │ └─pages│ ├─img│ │ ├─common│ │ └─pages│ └─js│ ├─common│ ├─pages│ ├─pages_es6│ └─plugins└─view 二.package.json 依赖和script配置 { "name": "", "version": "1.0.0", "description&q

(C#)日志接口请求响应时间

日志接口响应时间,记录接口请求信息,响应结果以及响应时间等.可以清楚的分析和了解接口现在. 如果一个一个地在接口下面做日志,那不是我们想要的结果.所以,我们选择做一个特性来控制接口要不要记录请求响应日志. 关键代码如下: public class LogRequestAndResponseAttribute: ActionFilterAttribute { private static string RequestLogSwitch = string.IsNullOrEmpty(Configur