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