博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot 常见请求方式
阅读量:4513 次
发布时间:2019-06-08

本文共 5053 字,大约阅读时间需要 16 分钟。

转载请标明出处: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;@Entitypublic 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 , 欢迎关注

weixin200.jpg

转载于:https://www.cnblogs.com/zhaoyanjun/p/9076833.html

你可能感兴趣的文章
浅谈虚拟机
查看>>
Ubuntu系统Linux编译osg库
查看>>
error MSB8008: 指定的平台工具集(v120)未安装或无效 解决办法
查看>>
5.2 面向对象上
查看>>
JSP 总结
查看>>
Host is not allowed to connect to this MySQL server 解决方案
查看>>
JS 数据类型分析及字符串的方法
查看>>
ASP.Net Core 2.2 MVC入门到基本使用系列 (一)
查看>>
ORA-00907: 缺失右括号
查看>>
【原】移动web资源整理
查看>>
第 7 章 —— 代理模式
查看>>
项目介绍&人员介绍
查看>>
服务稳定、高可用
查看>>
第2课第4节_Java面向对象编程_多态性_P【学习笔记】
查看>>
H5横向三栏布局
查看>>
7.分类:基本概念 忌讳
查看>>
PIL Image 转成 wx.Image、wx.Bitmap
查看>>
名词解释
查看>>
确保某值在区间内
查看>>
递归in C++
查看>>