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. oculus按键大全

    // OVRInput.Update(); if (OVRInput.GetUp(OVRInput.Button.Three)) { Debug.Log("remote click" ...

  2. Vue3注册全局组件

    1. Vue3全局组件注册 components文件夹下新建index.js文件,统一引入需要注册的组件 import CustomCheck from "./CustomCheck.vue ...

  3. AI基本知识

    一.什么是flops 对flops有疑惑,首先得先捋清这个概念: FLOPS:注意全大写,是floating point operations per second的缩写,意指每秒浮点运算次数,理解为 ...

  4. 20201003--统计数字字符个数(奥赛一本通 P98 1--字符类型和字符数组)

    输入一行字符,统计出其中数字字符的个数 输入:一行字符串,总长度不超过255 输出:一行,输出字符串里面数字字符的个数. 样例输入:Peking University is set up at 189 ...

  5. [fiddler的使用]模拟自动回复功能在模拟测试mock第三方对接系统的返回中的使用场景

    [场景描述]在许多对第三方的测试过程中,由于第三方没有测试环境或者测试环境同步开发的时候还未准备好,或者系统间联调时对方还未完成的各种情况下,我们可以通过fiddler来模拟对方的返回. [操作步骤] ...

  6. 解决黑苹果macOS Monterey系统无法正常睡眠、睡眠无法唤醒,唤醒后显示器无输出问题

    1.解决无法睡眠问题:添加睡眠补丁:HibernationFixup.kext, 或者添加ssdt:ssdt-GPRW.aml,并在ACPI补丁中添加热补丁: 2.解决睡眠后无法唤醒.唤醒后显示器无输 ...

  7. 黑马 java.lang.IllegalArgumentException: Property ‘dataSource‘ is required

    现象: 按照教程步骤做的,但连单元测试都无法通过,会出现java.lang.IllegalArgumentException: Property 'dataSource' is required这个错 ...

  8. 怎样修改linux内核

    1.先查看linux内核 uname -a 2.打开内核配置文件 sudo vi /etc/default/grub 3.跟新grub文件 sudo update-grub 4.最后重启电脑 sudo ...

  9. springboot+mybatis+vue

    https://www.cnblogs.com/wlovet/p/10980579.html

  10. 浅谈oracle连接远程数据库

    若是本地安装了oracle服务器 1 比较直接的方式是直接修改配置文件 去...\product\11.2.0\dbhome_1\NETWORK\ADMIN下面找三个.ora的配置文件:sqlnet. ...