springboot 常见请求方式
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/80404645
本文出自【赵彦军的博客】
用户模型类
package com.yiba.wifi.news.bean.domain;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class User {
@Id
@GeneratedValue
Integer id;
String name;
Integer age ;
//....set 省略
//....get 省略
}
Get 请求
1、无参
请求api
http://localhost:8083/api/find
接口设计
package com.yiba.wifi.news.controller;
import com.yiba.wifi.news.bean.domain.User;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("api")
public class UserController {
Logger logger = LoggerFactory.getLogger(this.getClass());
/**
* 查询 id 数据
* @return
*/
@GetMapping("find")
public User findOne() {
//查询用户逻辑.....
return new User();
}
}
2、带参数
请求api
http://localhost:8083/api/find?name=zhaoyanjun
接口设计
package com.yiba.wifi.news.controller;
import com.yiba.wifi.news.bean.domain.User;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("api")
public class UserController {
Logger logger = LoggerFactory.getLogger(this.getClass());
/**
* 查询 id 数据
* 当 name 为 null 的时候,用默认值 yanjun 代替
* @return
*/
@GetMapping("find")
public User findOne(@RequestParam(value = "name", defaultValue = "yanjun") String name) {
//查询用户逻辑.....
logger.info("name:" + name);
return new User();
}
}
3、RESTful API
请求api
http://localhost:8083/api/find/5
接口设计
package com.yiba.wifi.news.controller;
import com.yiba.wifi.news.bean.domain.User;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("api")
public class UserController {
Logger logger = LoggerFactory.getLogger(this.getClass());
/**
* 查询 id 数据
*
* @param id
* @return
*/
@GetMapping("find/{id}")
public User findOne(@PathVariable("id") Integer id) {
logger.info("id:" + id);
//查询用户逻辑.....
return new User();
}
}
POST 请求
1、表单请求
1、 请求api 方式一
http://localhost:8083/api/find?name=zhaoyanjun
实例图:
2、 请求api 方式二:表单
http://localhost:8083/api/find
实例图:
接口设计
package com.yiba.wifi.news.controller;
import com.yiba.wifi.news.bean.domain.User;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("api")
public class UserController {
Logger logger = LoggerFactory.getLogger(this.getClass());
/**
* 查询 id 数据
*
* @return
*/
@PostMapping("find")
public User findOne(@RequestParam(value = "name", defaultValue = "yanjun",required = false) String name) {
//查询用户逻辑.....
logger.info("name:" + name);
return new User();
}
}
2、参数为对象
请求api
http://localhost:8083/api/find
请求 body
{
"id": 1,
"name": "yanjun",
"age": 18
}
接口设计
package com.yiba.wifi.news.controller;
import com.yiba.wifi.news.bean.domain.User;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("api")
public class UserController {
Logger logger = LoggerFactory.getLogger(this.getClass());
/**
* 查询 id 数据
*
* @return
*/
@PostMapping("find")
public User findOne(@RequestBody User user) {
//查询用户逻辑.....
logger.info("name:" + user.getName());
return user;
}
}
请求示例:
请求 header 获取
获取单个 header
接口设计
package com.yiba.wifi.news.controller;
import com.yiba.wifi.news.bean.domain.User;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("api")
public class UserController {
Logger logger = LoggerFactory.getLogger(this.getClass());
/**
*
* @param user
* @param token 获取 header 里面的 token 字段
* @return
*/
@PostMapping("find")
public User findOne(@RequestBody User user,
@RequestHeader(value = "token") String token) {
//查询用户逻辑.....
logger.info("token:" + token);
return user;
}
}
请求示例
2、获取所有 header
接口设计
package com.yiba.wifi.news.controller;
import com.yiba.wifi.news.bean.domain.User;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
@RestController
@RequestMapping("api")
public class UserController {
Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired
private HttpServletRequest request;
@PostMapping("find")
public User findOne(@RequestBody User user) {
logger.info("CONTENT_TYPE:" + request.getHeader(HttpHeaders.CONTENT_TYPE)); //获取header
logger.info("TOKEN:" + request.getHeader("token")); //获取header
return user;
}
}
个人微信号:zhaoyanjun125 , 欢迎关注

springboot 常见请求方式的更多相关文章
- python urllib2 常见请求方式
GET 添加headers头import urllib2 request = urllib2.Request(uri) request.add_header('User-Agent', 'fake-c ...
- Spring RestTemplate中几种常见的请求方式
https://github.com/lenve/SimpleSpringCloud/tree/master/RestTemplate在Spring Cloud中服务的发现与消费一文中,当我们从服务消 ...
- Spring RestTemplate中几种常见的请求方式GET请求 POST请求 PUT请求 DELETE请求
Spring RestTemplate中几种常见的请求方式 原文地址: https://blog.csdn.net/u012702547/article/details/77917939 版权声明 ...
- SpringBoot如何使用PUT、DELETE请求方式
SpringBoot 2.2.X默认不支持put,delete等请求方式的. 首先需要在配置文件中打开他们,代码如下: spring.mvc.hiddenmethod.filter.enabled=t ...
- http协议中常见的状态码以及请求方式,http协议的组成
请求状态码: 2xxx:表示请求成功,例如200. 3xxx:表示请求被重定向,表示完成请求,需要进一步操作,例如 302. 4xxx:表示请求错误,例如:404,资源没有找到. 5xxx:表示服务器 ...
- 聊聊 HTTP 常见的请求方式
在互联网已经渗透了生产.生活各个角落的今天,人们可以登录微信语音聊天,可以随手"扫"到各种功能的二维码,可以通过方便快捷的无人超市购物--这种互联网领域的跨越式发展,不仅满足了人们 ...
- http常见的get请求方式和set请求方式。
一.Get请求方式 以下是我写的一个用get请求方式获取api工厂中汇率的类. package com.example; import java.io.BufferedReader; import j ...
- IOS 网络请求方式
iOS开发中的网络请求 今天来说说关于iOS开发过程中的网络请求. 关于网络请求的重要性我想不用多说了吧.对于移动客户端来说,网络的重要性不言而喻.常见的网络请求有同步GET, 同步POST, 异 ...
- AJAX中的请求方式以及同步异步的区别
AJAX中的请求方式以及同步异步的区别请求方式,分为GET与POST: GET 最为常见的HTTP请求,普通上网浏览页面就是GET.GET方式的参数请求直接跟在URL后,以问号开始.(JS中用wind ...
随机推荐
- c++中的左值与右值
左值(lvalue)和右值(rvalue)是 c/c++ 中一个比较晦涩基础的概念,不少写了很久c/c++的人甚至没有听过这个名字,但这个概念到了 c++11 后却变得十分重要,它们是理解 move/ ...
- mysql 开发进阶篇系列 13 锁问题(关于表锁,死锁示例,锁等待设置)
一. 什么时候使用表锁 对于INNODB表,在绝大部分情况下都应该使用行锁.在个别特殊事务中,可以考虑使用表锁(建议). 1. 事务需要更新大部份或全部数据,表又比较大,默认的行锁不仅使这个事务执行效 ...
- GitHub学习系列之如何删除那些不打算要的项目(图文详解)
不多说,直接上干货! 1.选择我们要删除的项目: 接下来我们就删除 zlslch下面的这个hello项目.从这个项目的名字中就可以看出来,好像就是为了删除而创建的.点击右上方红框中的Settings. ...
- CentOS7 配置FTP服务器
1.安装vsftpd yum -y install vsftpd 2.在firewalld中添加规则 为确保成功 先启动firewalld服务 systemctl enable firewalld s ...
- 设置Firefox(火狐)浏览器的中文菜单/界面
步骤一: 设置Firefox浏览器的中文菜单/界面.首先需要查一下正在使用的火狐版本号(小生使用的火狐版本是55.0.3). 步骤二: 下载对应版本的xpi中文插件 其次,访问下面的火狐官方 ...
- linux sar 命令详解(历史资源查看,如内存、CUP等等)
sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况.系统调用的使用情 ...
- leetcode — add-binary
/** * Source : https://oj.leetcode.com/problems/add-binary/ * * * Given two binary strings, return t ...
- 一文带你学会使用YOLO及Opencv完成图像及视频流目标检测(上)|附源码
计算机视觉领域中,目标检测一直是工业应用上比较热门且成熟的应用领域,比如人脸识别.行人检测等,国内的旷视科技.商汤科技等公司在该领域占据行业领先地位.相对于图像分类任务而言,目标检测会更加复杂一些,不 ...
- Spring Boot (三)模板引擎FreeMarker集成
一.FreeMaker介绍 FreeMarker是一款免费的Java模板引擎,是一种基于模板和数据生成文本(HMLT.电子邮件.配置文件.源代码等)的工具,它不是面向最终用户的,而是一款程序员使用的组 ...
- FineUI开源版(ASP.Net)初学手册-部分JS整理
有人老找JS,我吧FineUI自己写的JS沾过来方便大家看看,在实现前端的时候更灵活 JS 实例 注释 控件 F.ready F.ready(function(){}); 就是ready 很多方法 ...