springboot(1)使用SpringBoot基础HTTP接口GET|POST|DELETE|PUT请求
1.Get请求
1)测试restful协议,从路径中获取字段
单一参数@RequestMapping(path = "/{id}", method = RequestMethod.GET)
public String getUser(@PathVariable String id ) {}
2)测试@GetMapping = @RequestMapping(Method={RequestMethod.GET})
@PostMapping = @RequestMapping(Method={RequestMethod.POST})
@PutMapping = @RequestMapping(Method={RequestMethod.PUT})
@DeleteMapping = @RequestMapping(Method={RequestMethod.DELETE})
3)@RequestParam(value = "name", required = true)
可以设置默认值,比如分页
4)@RequestBody 请求体映射实体类
需要指定http头为 content-type为application/json charset=utf-8
5)@RequestHeader 请求头,比如鉴权
@RequestHeader("access_token") String accessToken
6)HttpServletRequest request自动注入获取参数
package com.example.demo.controller;import com.example.demo.pojo.User; import org.springframework.web.bind.annotation.*;import javax.servlet.http.HttpServletRequest; import java.util.HashMap; import java.util.Map;/*** @author Suncm* @ClassName GetController* @Date 2019/5/15 17:20* @Version 1.0*/ //测试http协议的get请求以及注解的使用 @RestController public class GetController {private Map<String, Object> params = new HashMap<String,Object>();/***@Author Suncm*@Despription //测试restful协议,从路径中获取字段*@Date 10:31 2019/5/16*@Param [cityId, userId]*@return java.lang.Object**/@RequestMapping(path = "/{city_id}/{user_id}",method = RequestMethod.GET)public Object findUser(@PathVariable("city_id") String cityId, @PathVariable(value = "user_id",required = true) String userId){params.clear();params.put("cityId",cityId);params.put("userId",userId);for (Map.Entry<String,Object> entry:params.entrySet()) {System.out.println(entry.getKey()+",value="+entry.getValue());}return params;}/**@Author Suncm*@Despription //测试@getMapping*@Date 11:02 2019/5/16*@Param [form, size]*@return java.lang.Object**/@GetMapping(value = "/v1/page_user1")public Object pageUser(int from,int size){params.clear();params.put("from",from);params.put("size",size);return params;}/**@Author Suncm*@Despription //测试参数默认值*@Date 11:13 2019/5/16*@Param [from, size]*@return java.lang.Object**/@GetMapping(value = "/v1/page_user2")public Object pageUser2(@RequestParam(defaultValue = "0",name = "page") int from,int size){params.clear();params.put("from",from);params.put("size",size);return params;}/**@Author Suncm*@Despription //bean 对象传参* 1、注意需要指定http头为 content-type为application/json* 2、使用body传输数据*@Date 11:27 2019/5/16*@Param [user]*@return java.lang.Object**/@RequestMapping(value = "/v1/save_user")public Object saveUser(@RequestBody User user){params.clear();params.put("user",user);return params;}/**@Author Suncm*@Despription //获取请求头*@Date 11:47 2019/5/16*@Param []*@return java.lang.Object**/@RequestMapping("/v1/get_header")public Object getHeader(@RequestHeader("access_token")String accessToken,String id){params.clear();params.put("accessToken",accessToken);params.put("id",id);return params;}/**@Author Suncm*@Despription //参数存储到request里*@Date 11:59 2019/5/16*@Param [request]*@return java.lang.Object**/@GetMapping("/v1/test_request")public Object testRequest(HttpServletRequest request){params.clear();String id = request.getParameter("id");params.put("id", id);return params;}/**@Author Suncm*@Despription //测试@PostMapping*@Date 14:41 2019/5/16*@Param [id, pwd]*@return java.lang.Object**/@PostMapping("/v1/test_post")public Object postTest(String id,String pwd){params.clear();params.put("id",id);params.put("pwd",pwd);return params;}/**@Author Suncm*@Despription //测试@PutMapping*@Date 14:44 2019/5/16*@Param [id]*@return java.lang.Object**/@PutMapping("/v1/test_put")public Object changeUser(String id){params.clear();params.put("id",id);return params;}@DeleteMapping("/v1/test_del")public Object delUser(String id){params.clear();params.put("id",id);return params;} }
转载于:https://www.cnblogs.com/suncm/p/10875640.html
springboot(1)使用SpringBoot基础HTTP接口GET|POST|DELETE|PUT请求相关推荐
- SpringBoot+Vue博客系统---后端接口开发
Java后端接口开发 从零开始搭建一个项目骨架,最好选择合适,熟悉的技术,并且在未来易拓展,适合微服务化体系等.所以一般以Springboot作为我们的框架基础,这是离不开的了. 然后数据层,我们常用 ...
- springboot + redis + 注解 + 拦截器 实现接口幂等性校验
点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 来源:https://www.jianshu.com/p/6189275403ed 一.概念 ...
- SpringBoot中如何灵活的实现接口数据的加解密功能?
数据是企业的第四张名片,企业级开发中少不了数据的加密传输,所以本文介绍下SpringBoot中接口数据加密.解密的方式. 本文目录 一.加密方案介绍二.实现原理三.实战四.测试五.踩到的坑 一.加密方 ...
- 为啥SpringBoot更多普遍采用Controller+Service接口层+ServiceImpl接口实现层
为啥SpringBoot更多普遍采用Controller+Service接口层+ServiceImpl接口实现层? 为解决移植性问题而产生的套路 2005年以前的大多数项目都是直接在业务处理层的Ser ...
- SpringBoot集成Axis2,部署webservice接口并调用
SpringBoot集成Axis2,部署webservice接口并调用 一.省略新建springboot项目过程 1.pom.xml 2.application.yml 3.准备工作做完,编写serv ...
- SpringBoot 自定义注解+AOP+Redis 防止接口重复提交表单数据
SpringBoot结合Redis处理重复提交 数据重复提交导致多次请求服务.入库,产生脏数据.冗余数据等情况.禁止重复提交使我们保证数据准确性及安全性的必要操作. 实际上,造成这种情况的场景不少: ...
- db2 springboot 整合_[SpringBoot]快速配置多数据源(整合MyBatis)
前言 由于业务需求,需要同时在SpringBoot中配置两套数据源(连接两个数据库),要求能做到service层在调用各数据库表的mapper时能够自动切换数据源,也就是mapper自动访问正确的数据 ...
- SpringBoot——什么是SpringBoot、SpringBoot入门、创建SpringBoot
目录 一.回顾什么是Spring 二.Spring是如何简化Java开发 三.什么是SpringBoot 1.SpringBoot的主要优点 2.准备工作 四.如何通过IDEA创建SpringBoot ...
- springboot源码: springboot初始化过程
1. new SpringApplication() 在springboot种执行这一行操作的时候,SpringApplication.run(DemoApplication.class, args) ...
最新文章
- 微软为什么从 C/C++ 转向了 Rust?
- fstab自动挂载_玩客云刷机系统之armbian挂载U盘增加空间
- Prompt-based Language Models:模版增强语言模型小结
- mysql数据库java链接,java链接MySQL数据库方法
- 【渝粤教育】国家开放大学2018年春季 0599-22T工程造价管理基础理论与相关法规 参考试题
- 计算机C语言课交作业怎么交,第一份c语言作业
- 深入理解JSON对象
- BDTC 2017 | 中国大数据技术大会全日程和演讲者曝光
- django 1.8 官方文档翻译: 6-4-2 编写自定义的django-admin命令
- ssis 执行 依赖_从SSIS执行您自己的.NET控制台应用程序
- 互联网公司的岗位构成
- java数组和集合的区别_java中数组和集合的区别是什么?
- Matlab读取excel文件绘制折线图
- 依赖计算机英语作文,2011年高考英语卷写作表达题目范文汇总(39):过度依赖电脑的弊端...
- 1024程序员节日随笔
- 口袋里只有一百块钱,也要活出十个亿的气势
- 微服务并不能修复你破碎的组织文化
- 基于ssm外卖点餐系统源码
- 电视不正常Android镜像投屏,Mirror for Android TV(安卓电视投屏软件) V2.4 Mac版
- 电子器件 释放静电_电子设备仍然是静电损坏的大问题吗?
热门文章
- Codeforces Round #486 (Div. 3) C Equal Sums (map+pair)
- Xcode8.0 删除插件路径
- ACDream - Dynamic Inversions II
- join 方法代码实例
- Server.Transfer()與Response.Redirect()的區別
- Video4Linux
- 29 | 案例篇:Redis响应严重延迟,如何解决?
- tableau双折线图_Tableau可视化之多变条形图
- ios html gif 显示,iOS中gif图的显示方法示例
- java 区间树_线段树(区间树)之区间染色和4n推导过程