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请求相关推荐

  1. SpringBoot+Vue博客系统---后端接口开发

    Java后端接口开发 从零开始搭建一个项目骨架,最好选择合适,熟悉的技术,并且在未来易拓展,适合微服务化体系等.所以一般以Springboot作为我们的框架基础,这是离不开的了. 然后数据层,我们常用 ...

  2. springboot + redis + 注解 + 拦截器 实现接口幂等性校验

    点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 来源:https://www.jianshu.com/p/6189275403ed 一.概念 ...

  3. SpringBoot中如何灵活的实现接口数据的加解密功能?

    数据是企业的第四张名片,企业级开发中少不了数据的加密传输,所以本文介绍下SpringBoot中接口数据加密.解密的方式. 本文目录 一.加密方案介绍二.实现原理三.实战四.测试五.踩到的坑 一.加密方 ...

  4. 为啥SpringBoot更多普遍采用Controller+Service接口层+ServiceImpl接口实现层

    为啥SpringBoot更多普遍采用Controller+Service接口层+ServiceImpl接口实现层? 为解决移植性问题而产生的套路 2005年以前的大多数项目都是直接在业务处理层的Ser ...

  5. SpringBoot集成Axis2,部署webservice接口并调用

    SpringBoot集成Axis2,部署webservice接口并调用 一.省略新建springboot项目过程 1.pom.xml 2.application.yml 3.准备工作做完,编写serv ...

  6. SpringBoot 自定义注解+AOP+Redis 防止接口重复提交表单数据

    SpringBoot结合Redis处理重复提交 数据重复提交导致多次请求服务.入库,产生脏数据.冗余数据等情况.禁止重复提交使我们保证数据准确性及安全性的必要操作. 实际上,造成这种情况的场景不少: ...

  7. db2 springboot 整合_[SpringBoot]快速配置多数据源(整合MyBatis)

    前言 由于业务需求,需要同时在SpringBoot中配置两套数据源(连接两个数据库),要求能做到service层在调用各数据库表的mapper时能够自动切换数据源,也就是mapper自动访问正确的数据 ...

  8. SpringBoot——什么是SpringBoot、SpringBoot入门、创建SpringBoot

    目录 一.回顾什么是Spring 二.Spring是如何简化Java开发 三.什么是SpringBoot 1.SpringBoot的主要优点 2.准备工作 四.如何通过IDEA创建SpringBoot ...

  9. springboot源码: springboot初始化过程

    1. new SpringApplication() 在springboot种执行这一行操作的时候,SpringApplication.run(DemoApplication.class, args) ...

最新文章

  1. 微软为什么从 C/C++ 转向了 Rust?
  2. fstab自动挂载_玩客云刷机系统之armbian挂载U盘增加空间
  3. Prompt-based Language Models:模版增强语言模型小结
  4. mysql数据库java链接,java链接MySQL数据库方法
  5. 【渝粤教育】国家开放大学2018年春季 0599-22T工程造价管理基础理论与相关法规 参考试题
  6. 计算机C语言课交作业怎么交,第一份c语言作业
  7. 深入理解JSON对象
  8. BDTC 2017 | 中国大数据技术大会全日程和演讲者曝光
  9. django 1.8 官方文档翻译: 6-4-2 编写自定义的django-admin命令
  10. ssis 执行 依赖_从SSIS执行您自己的.NET控制台应用程序
  11. 互联网公司的岗位构成
  12. java数组和集合的区别_java中数组和集合的区别是什么?
  13. Matlab读取excel文件绘制折线图
  14. 依赖计算机英语作文,2011年高考英语卷写作表达题目范文汇总(39):过度依赖电脑的弊端...
  15. 1024程序员节日随笔
  16. 口袋里只有一百块钱,也要活出十个亿的气势
  17. 微服务并不能修复你破碎的组织文化
  18. 基于ssm外卖点餐系统源码
  19. 电视不正常Android镜像投屏,Mirror for Android TV(安卓电视投屏软件) V2.4 Mac版
  20. 电子器件 释放静电_电子设备仍然是静电损坏的大问题吗?

热门文章

  1. Codeforces Round #486 (Div. 3) C Equal Sums (map+pair)
  2. Xcode8.0 删除插件路径
  3. ACDream - Dynamic Inversions II
  4. join 方法代码实例
  5. Server.Transfer()與Response.Redirect()的區別
  6. Video4Linux
  7. 29 | 案例篇:Redis响应严重延迟,如何解决?
  8. tableau双折线图_Tableau可视化之多变条形图
  9. ios html gif 显示,iOS中gif图的显示方法示例
  10. java 区间树_线段树(区间树)之区间染色和4n推导过程