一、HTTP请求配置讲解

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

1、@RestController和@RequestMapping是springMVC的注解,不是springboot特有的
2、@RestController=@Controller+@ResponseBody
3、@SpringBootApplication=@Configuration+@EnableAutoConfiguration+@ComponentScan

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

基本功能,如图

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

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

三、HTTP接口GET请求

 //测试http协议的get请求
@RestController
public class GetController { private Map<String,Object> params = new HashMap<>(); /**
* 功能描述:测试restful协议,从路径中获取字段
* @param cityId
* @param userId
* @return
* 注意:传递参数都用小写
*
* 前端:localhost:8080/100/20
*/
@RequestMapping(path = "/{city_id}/{user_id}", method = RequestMethod.GET)
public Object findUser(@PathVariable("city_id") String cityId,
@PathVariable("user_id") String userId ){
params.clear(); params.put("cityId", cityId);
params.put("userId", userId); return params; } /**
* 功能描述:测试GetMapping
* @param from
* @param size
* @return
*
* 前端:localhost:8080/v1/page_user1?from=0&size=10
*/
@GetMapping(value="/v1/page_user1")
public Object pageUser(int from, int size ){
params.clear(); params.put("from", from);
params.put("size", size); return params; } /**
* 功能描述:默认值,是否必须的参数
* @param from
* @param size
* @return
*/
@GetMapping(value="/v1/page_user2")
public Object pageUserV2(@RequestParam(defaultValue="0",name="page") int from, int size ){ params.clear();
params.put("from", from);
params.put("size", size); return params; } /**
* 功能描述:bean对象传参
* 注意:1、注意需要指定http头为 content-type为application/json
* 2、使用body传输数据
* @param user
* @return
*/
@RequestMapping("/v1/save_user")
public Object saveUser(@RequestBody User user){
params.clear();
params.put("user", user);
return params;
} /**
* 功能描述:测试获取http头信息
* @param accessToken
* @param id
* @return
*/
@GetMapping("/v1/get_header")
public Object getHeader(@RequestHeader("access_token") String accessToken, String id){
params.clear();
params.put("access_token", accessToken);
params.put("id", id);
return params;
} @GetMapping("/v1/test_request")
public Object testRequest(HttpServletRequest request){
params.clear();
String id = request.getParameter("id");
params.put("id", id);
return params;
} }

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

 //测试http协议的post,del,put请求
@RestController
public class OtherHttpController { private Map<String,Object> params = new HashMap<>(); /**
* 功能描述:测试PostMapping
* @param accessToken
* @param id
* @return
*/
@PostMapping("/v1/login")
public Object login(String id, String pwd){
params.clear();
params.put("id", id);
params.put("pwd", pwd);
return params;
} @PutMapping("/v1/put")
public Object put(String id){
params.clear();
params.put("id", id);
return params;
} @DeleteMapping("/v1/del")
public Object del(String id){
params.clear();
params.put("id", id);
return params;
} }

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

  1. SpringBoot整合knife4j框架(可生成离线接口文档),并设置接口请求头token默认值

    功能和swagger类似 官网地址:https://doc.xiaominfo.com/knife4j/ 这个框架可以设置返回字段的描述 引入依赖 <dependency> <gro ...

  2. SpringBoot整合Swagger框架 ,并设置接口请求头token默认值

      引入maven依赖 <!-- swagger2--> <dependency> <groupId>io.springfox</groupId> &l ...

  3. SpringBoot下支付宝接口的使用

    SpringBoot下支付宝接口的使用 前期准备: 参考之前写过的 支付宝接口引入servlet版本 Jar包引入: <!-- 支付宝 --> <dependency> < ...

  4. Springboot如何利用http请求控制器

    写好了接口,现在想用postman测试一下这个接口是否正确,想请问怎么传入请求参数?先谢谢了! Springboot如何利用http请求控制器 >> java这个答案描述的挺清楚的:htt ...

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

    楼主是个后端小白一枚,之前没接触过后端,只学了java基本语法,还是在学校老师教的,学的很浅,什么ssh.ssm框架都没有学,最近在自学spring boot,看书学也看不是很懂,就在b站上看教学视频 ...

  6. springboot返回统一接口与统一异常处理

    springboot返回统一接口与统一异常处理 编写人员:yls 编写时间:2019-9-19 0001-springboot返回统一接口与统一异常处理 简介 创建统一的返回格式 Result 封装统 ...

  7. 【快学springboot】2.Restful简介,SpringBoot构建Restful接口

    Restful简介 Restful一种软件架构风格.设计风格,而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现 ...

  8. SpringBoot写后端接口,看这一篇就够了!

    摘要:本文演示如何构建起一个优秀的后端接口体系,体系构建好了自然就有了规范,同时再构建新的后端接口也会十分轻松. 一个后端接口大致分为四个部分组成:接口地址(url).接口请求方式(get.post等 ...

  9. Postman - 功能强大的 API 接口请求调试和管理工具

    Postman 是一款功能强大的的 Chrome 应用,可以便捷的调试接口.前端开发人员在开发或者调试 Web 程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的 Fi ...

随机推荐

  1. nc6 用业务插件注册来跑按钮事件

    在实际开发中,有些需求是要求系统单据,编辑或者触发其他按钮来回写其他模块单据 这时候就能用业务插件方式来触发其他模块的按钮事件,而不用去模块找对应的按钮编辑事件类 package hz.bs.hzct ...

  2. 【mysql】decimal数据类型

    1.float.double.decimal float:浮点型,4字节,32bit. double:双精度实型,8字节,64位 decimal:数字型,128bit,不存在精度损失,常用于银行帐目计 ...

  3. IT资产管理—采购与合同管理功能

  4. ubuntu无法打开software-center

    ubuntu无法打开software-center BUG: 在ubuntu14.04LTS版本下,点击软件中心图标,过了一会软件未能启动,没有动静.用命令行启动报如下错误: perrin@Littl ...

  5. CUDA[4] sample program: matrix-vector multiplication

    Use Compressed Sparse Row Format (CSR) to represent matrix #include "cuda_runtime.h" #incl ...

  6. CSS样式总结(作业六)

    1:CSS基本介绍 CSS全称为“层叠样式表 (Cascading Style Sheets)”,它主要是用于定义HTML内容在浏览器内的显示样式,如文字大小.颜色.字体加粗等. css 样式由选择符 ...

  7. 浅析软件工程中的UML建模技术

    一.基本信息 标题:浅析软件工程中的UML建模技术 时间:2018 出版源:电子世界 领域分类:软件工程:UML建模技术:需求分析 二.研究背景 问题定义:软件工程中UML建模技术的研究 难点:明确软 ...

  8. js-运动函数包

    function move(obj, attr, dir, target, endFn) { clearInterval(obj.timer) //  避免全局变量,所以要用oBox.timer di ...

  9. 分支结构-Switch

    /* switch(表达式或变量){ case value1:{ 语句体1; break; } case value2:{ 语句体2; break; } ... default:{ 语句体n+1; b ...

  10. Android-Java-抽象类

    定义抽象类,就一定会定义抽象方法,抽象方法没有方法体{},就证明抽象方法 是不运行的,抽象方法 是给子类继承覆盖运行的, 子类继承->抽象类 就必须覆盖抽象方法,否则编译都失败: 水果案例: 定 ...