转载请标明出处: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 常见请求方式的更多相关文章

  1. python urllib2 常见请求方式

    GET 添加headers头import urllib2 request = urllib2.Request(uri) request.add_header('User-Agent', 'fake-c ...

  2. Spring RestTemplate中几种常见的请求方式

    https://github.com/lenve/SimpleSpringCloud/tree/master/RestTemplate在Spring Cloud中服务的发现与消费一文中,当我们从服务消 ...

  3. Spring RestTemplate中几种常见的请求方式GET请求 POST请求 PUT请求 DELETE请求

    Spring RestTemplate中几种常见的请求方式 原文地址: https://blog.csdn.net/u012702547/article/details/77917939   版权声明 ...

  4. SpringBoot如何使用PUT、DELETE请求方式

    SpringBoot 2.2.X默认不支持put,delete等请求方式的. 首先需要在配置文件中打开他们,代码如下: spring.mvc.hiddenmethod.filter.enabled=t ...

  5. http协议中常见的状态码以及请求方式,http协议的组成

    请求状态码: 2xxx:表示请求成功,例如200. 3xxx:表示请求被重定向,表示完成请求,需要进一步操作,例如 302. 4xxx:表示请求错误,例如:404,资源没有找到. 5xxx:表示服务器 ...

  6. 聊聊 HTTP 常见的请求方式

    在互联网已经渗透了生产.生活各个角落的今天,人们可以登录微信语音聊天,可以随手"扫"到各种功能的二维码,可以通过方便快捷的无人超市购物--这种互联网领域的跨越式发展,不仅满足了人们 ...

  7. http常见的get请求方式和set请求方式。

    一.Get请求方式 以下是我写的一个用get请求方式获取api工厂中汇率的类. package com.example; import java.io.BufferedReader; import j ...

  8. IOS 网络请求方式

    iOS开发中的网络请求   今天来说说关于iOS开发过程中的网络请求. 关于网络请求的重要性我想不用多说了吧.对于移动客户端来说,网络的重要性不言而喻.常见的网络请求有同步GET, 同步POST, 异 ...

  9. AJAX中的请求方式以及同步异步的区别

    AJAX中的请求方式以及同步异步的区别请求方式,分为GET与POST: GET 最为常见的HTTP请求,普通上网浏览页面就是GET.GET方式的参数请求直接跟在URL后,以问号开始.(JS中用wind ...

随机推荐

  1. Net Core平台灵活简单的日志记录框架NLog+Mysql组合初体验

    Net Core平台灵活简单的日志记录框架NLog初体验 前几天分享的"[Net Core集成Exceptionless分布式日志功能以及全局异常过滤][https://www.cnblog ...

  2. Deep learning with Python 学习笔记(11)

    总结 机器学习(machine learning)是人工智能的一个特殊子领域,其目标是仅靠观察训练数据来自动开发程序[即模型(model)].将数据转换为程序的这个过程叫作学习(learning) 深 ...

  3. 如何像Python高手(Pythonista)一样编程

    最近在网上看到一篇介绍Pythonic编程的文章:Code Like a Pythonista: Idiomatic Python,其实作者在2006的PyCon会议后就写了这篇文章,写这篇文章的主要 ...

  4. Hibernate学习(六)———— cascade(级联)和inverse关系详解

    序言 写这篇文章之前,自己也查了很多的资料来搞清楚这两者的关系和各自所做的事情,但是百度一搜,大多数博文感觉说的云里雾里,可能博主自己清楚是怎么一回事,但是给一个不懂的人或者一知半解的人看的话,别人也 ...

  5. Linux 命令 —— iconv 转换编码

    iconv 是 Linux 系统自带的用于转换文件编码的命令行工具. 命令参数 使用 iconv --help 命令查看命令帮助信息: 用法: iconv [OPTION...] [-f ENCODI ...

  6. zend studio快捷键

    某些快捷键会失效,多尝试就好.快捷键就是一种减轻工作量的方式,或者说展示码农码代码的熟练度,重要的还在于对一个问题的看法和角度,说的具体些就是算法和数据结构,不看会后悔,不学设计模式也会吃亏. 应用场 ...

  7. [转]Node.JS使用Sequelize操作MySQL

    Sequelize官方文档  https://sequelize.readthedocs.io/en/latest/ 本文转自:https://www.jianshu.com/p/797e10fe23 ...

  8. DOM入门。

    DOM  Document Object Model  文档对象模型,dom就是HTML页面的模型,将每个标签都作为一个对象,JavaScript通过调用DOM中的属性.方法就可以对网页中的文本框,层 ...

  9. JDBC&Hibernate

    当数据库有大量用户来访问要采取什么技术解决 可以采用连接池: 什么是ORM 对象关系映射(Object Relational Mapping 简称ORM)是一种为了解决面向对象与面向关系数据库存在的互 ...

  10. collect_list/collect_set(列转行)

    Hive中collect相关的函数有collect_list和collect_set. 它们都是将分组中的某列转为一个数组返回,不同的是collect_list不去重而collect_set去重. 做 ...