SpringBoot请求

常用注解及作用范围:

  1. @Controller :【类】需要返回一个视图(themleaf),加注解4@ResponseBody等于注解2
  2. @RestController:【类】返回字符串等,与注解1都属于控制器,
  3. @RequestMapping:【方法/类】设置方法或者类的请求地址,
  4. @ResponseBody:【方法】支持将返回值放在response体内,而不是返回一个页面,
  5. @RequestParam:【形参】获取request请求的参数值,
  6. @RequestBody:【形参】用于将前台发送过来固定格式的数据【xml格式 或者 json等】封装为对应的 JavaBean 对象
  7. @PathVariable:【形参】用来获得请求url中的动态参数

相关实例及请求

{{local}}:http://localhost:8080

请使用PostMan请求,无效果请重新构建、刷新缓存等操作。

GET无参请求

请求地址:

{{local}}/hello

代码如下:

/**
* @author xbhog
*/
@Slf4j
@SpringBootApplication
@RestController
public class AnnotationScaffoldApplication { public static void main(String[] args) {
SpringApplication.run(AnnotationScaffoldApplication.class, args);
} @GetMapping(value = "/hello")
public ResponseEntity<String> hello(){
return new ResponseEntity<>("hello world!", HttpStatus.OK);
}
}

GET单参请求-@PathVariable

请求地址:

{{local}}/user/22

代码如下:

/**
* @author xbhog
*/
@Slf4j
@SpringBootApplication
@RestController
public class AnnotationScaffoldApplication { public static void main(String[] args) {
SpringApplication.run(AnnotationScaffoldApplication.class, args);
} @RequestMapping(value="/user/{userId}",method = RequestMethod.GET)
public ResponseEntity<String> getLogin(@PathVariable("userId") String userId){
System.out.println("User Id : " + userId);
return new ResponseEntity<>(userId, HttpStatus.OK);
}
}

GET多参请求-@RequestParam

请求地址:

{{local}}/user?username=xbhog&pass=111111

代码如下:

/**
* @author xbhog
*/
@Slf4j
@SpringBootApplication
@RestController
public class AnnotationScaffoldApplication { public static void main(String[] args) {
SpringApplication.run(AnnotationScaffoldApplication.class, args);
} public ResponseEntity<String> getLogin2(@RequestParam("username") String username,
@RequestParam("pass") String pass){
System.out.println("User name : " + username);
System.out.println("User pass : " + pass);
return new ResponseEntity<>(username, HttpStatus.OK);
}
}

GET Map请求-@RequestParam

请求地址:

{{local}}/userMap?name=xbhog&pass=111111

代码如下:

/**
* @author xbhog
*/
@Slf4j
@SpringBootApplication
@RestController
public class AnnotationScaffoldApplication { public static void main(String[] args) {
SpringApplication.run(AnnotationScaffoldApplication.class, args);
} @RequestMapping(value="/userMap",method = RequestMethod.GET)
public ResponseEntity<String> getLogin3(@RequestParam Map<String,String> user){
System.out.println("User name : " + user.get("name"));
System.out.println("User pass : " + user.get("pass"));
return new ResponseEntity<>(JSON.toJSONString(user), HttpStatus.OK);
}
}

GET对象请求

请求地址:

{{local}}/userPojo?name=xbhog&pass=111111

代码如下:

/**
* @author xbhog
*/
@Slf4j
@SpringBootApplication
@RestController
public class AnnotationScaffoldApplication { public static void main(String[] args) {
SpringApplication.run(AnnotationScaffoldApplication.class, args);
} @RequestMapping(value="/userPojo",method = RequestMethod.GET)
public ResponseEntity<String> getLogin7(User user){
System.out.println("User name : " + user.getName());
System.out.println("User pass : " + user.getPass());
return new ResponseEntity<>(JSON.toJSONString(user), HttpStatus.OK);
}
}

POST单参请求-@RequestBody

请求地址:

{{local}}/user?username=xbhog

代码如下:

/**
* @author xbhog
*/
@Slf4j
@SpringBootApplication
@RestController
public class AnnotationScaffoldApplication { public static void main(String[] args) {
SpringApplication.run(AnnotationScaffoldApplication.class, args);
} @RequestMapping(value="/user",method = RequestMethod.POST)
public ResponseEntity<String> getLogin4(@RequestBody String username){
System.out.println("User name : " + username);
return new ResponseEntity<>(username, HttpStatus.OK);
}
}

POST Map请求-@RequestParam

请求地址:

{{local}}/userMap
------json
{ "name":"xbhog", "pass":"111111" }

代码如下:

/**
* @author xbhog
*/
@Slf4j
@SpringBootApplication
@RestController
public class AnnotationScaffoldApplication { public static void main(String[] args) {
SpringApplication.run(AnnotationScaffoldApplication.class, args);
} @RequestMapping(value="/userMap",method = RequestMethod.GET)
public ResponseEntity<String> getLogin3(@RequestParam Map<String,String> user){
System.out.println("User name : " + user.get("name"));
System.out.println("User pass : " + user.get("pass"));
return new ResponseEntity<>(JSON.toJSONString(user), HttpStatus.OK);
}
}

POST对象请求-@RequestBody

请求地址:

{{local}}/userPojo
-------json
{ "name":"xbhog", "pass":"111111" }

代码如下:

/**
* @author xbhog
*/
@Slf4j
@SpringBootApplication
@RestController
public class AnnotationScaffoldApplication { public static void main(String[] args) {
SpringApplication.run(AnnotationScaffoldApplication.class, args);
} @RequestMapping(value="/userPojo",method = RequestMethod.POST)
public ResponseEntity<String> getLogin6(@RequestBody User user){
System.out.println("User name : " + user.getName());
System.out.println("User pass : " + user.getPass());
return new ResponseEntity<>(JSON.toJSONString(user), HttpStatus.OK);
}
}

实现对象

代码如下:

static class User{
private String name;
private String pass; public User() {
} public User(String name, String pass) {
this.name = name;
this.pass = pass;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getPass() {
return pass;
} public void setPass(String pass) {
this.pass = pass;
} @Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", pass='" + pass + '\'' +
'}';
}
}

Github完整代码:https://github.com/xbhog/AnnotationScaffold

常用注解-SpringBoot请求的更多相关文章

  1. SpringBoot 中常用注解

    本篇博文将介绍几种SpringBoot 中常用注解 其中,各注解的作用为: @PathVaribale 获取url中的数据 @RequestParam 获取请求参数的值 @GetMapping 组合注 ...

  2. SpringBoot | 第六章:常用注解介绍及简单使用

    前言 之前几个章节,大部分都是算介绍springboot的一些外围配置,比如日志配置等.这章节开始,开始总结一些关于springboot的综合开发的知识点.由于SpringBoot本身是基于Sprin ...

  3. SpringBoot 中常用注解@PathVaribale/@RequestParam/@GetMapping介绍

    SpringBoot 中常用注解@PathVaribale/@RequestParam/@GetMapping介绍 本篇博文将介绍几种如何处理url中的参数的注解@PathVaribale/@Requ ...

  4. SpringBoot系统列 4 - 常用注解、拦截器、异常处理

    在前面代码基础上进行改造: 1.SpringBoot常用注解 @SpringBootApplication :指定SpringBoot项目启动的入口,是一个复合注解,由@Configuration.@ ...

  5. SpringBoot中常用注解@Controller/@RestController/@RequestMapping的区别

    @Controller 处理http请求 @Controller //@ResponseBody public class HelloController { @RequestMapping(valu ...

  6. SpringBoot 中常用注解@Controller/@RestController/@RequestMapping的区别

    SpringBoot中常用注解@Controller/@RestController/@RequestMapping的区别 @Controller 处理http请求 @Controller //@Re ...

  7. SpringBoot 中常用注解@Controller/@RestController/@RequestMapping介绍

    原文 SpringBoot 中常用注解 @Controller/@RestController/@RequestMapping介绍 @Controller 处理http请求 @Controller / ...

  8. SpringBoot常用注解的介绍及使用 - 转载

    常用注解 @springBootApplication 系统启动类注解,此注解是个组合注解,包括了:@SpringBootConfiguration,@EnableAutoConfiguration, ...

  9. 结合参数接收响应转换原理讲解SpringBoot常用注解

    一.常用注解回顾 1.1 @RequestBody与@ResponseBody //注意并不要求@RequestBody与@ResponseBody成对使用. public @ResponseBody ...

  10. 接近8000字的Spring/SpringBoot常用注解总结!安排!

    0.前言 大家好,我是 Guide 哥!这是我的 221 篇优质原创文章.如需转载,请在文首注明地址,蟹蟹! 本文已经收录进我的 75K Star 的 Java 开源项目 JavaGuide:http ...

随机推荐

  1. Webpack解析与讲解

    一.什么是Webpack? 一个基于node.js的前端模块化/预处理/扁平化处理器. 二.为什么要使用Webpack? 解决业务代码中的各种依赖,模块加载,静态文件引入问题(重复依赖/强依赖,阻塞加 ...

  2. 5、Excel—在做车辆费用汇总的时候,复制出来的数据跟同事的一样,但是合计总数就不一样

    在做车辆费用汇总的时候,复制出来的数据跟同事的一样,但是合计总数就不一样, 刚开始以为是数值问题,明明两份Excel都是同样的数据,为什么合计就不一样呢?(根据同事那份的数据,然后手动在自己的exce ...

  3. vue移动端在线签名

    <template> <section class="signature"> <div class="signatureBox"& ...

  4. daimayuan第三课(哈希,堆)

    1:哈希 建立:拉链法: a:数组 #include <bits/stdc++.h> using namespace std; const int md = 1e9; int h[1000 ...

  5. 网络同步时钟单路耐压测试突破17V

    自动同步标准化考场时钟系统------专业LED时钟厂家![点击进入] 一.网络同步时钟耐压测试作用概述: 同步时钟耐压试验是鉴定时钟绝缘强度和稳定性最直接的方法,它对于判断NTP同步时钟设备能否投入 ...

  6. 2、HTTP的消息格式

    概念 HTTP协议 Hyper Text Transfer Protocol 超文本传输协议 传输协议 传输协议定义了客户端和服务器端通信时,发送数据的格式. 特点 基于TCP/IP的高级协议 默认端 ...

  7. Java的由来

    Java 发展史 1.1.起源 20 世纪 90 年代,单片式计算机系统诞生,单片式计算机系统不仅廉价,而且功能强大,使用它 可以大幅度提升消费性电子产品的智能化程度. SUN 公司为了抢占市场先机, ...

  8. 3vue

    阻止冒泡 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  9. Crypto入门 (四)不仅仅是Morse(Morse+Bacon)

    前言: 前面我们刚刚学过了解Morsecode,现在我们将继续学习 不仅仅是Morse: 题目:--/.-/-.--/..--.-/-..././..--.-/..../.-/...-/./..--. ...

  10. 转 oracle 无法使用sys用户登录 connection as SYS should be as SYSDBA OR SYSOPER

    转自:  https://blog.csdn.net/u012004128/article/details/80781979 安装Oracle11g后,为了测试安装是否成功,通过cmd命令打开了sql ...