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. Java基础|01.基础语法(1)

    目录 00x1 基本语法 1.类的语法 2.对象的语法 3.方法的声明 4.小例子 00x2 类和对象的关系 1.堆.栈和元空间 2.基本数据类型和引用数据类型的区别 3. 空对象(null) 00x ...

  2. 为什么javac后加.java,java后不加.class?

    Javac和java命令的用法:javac需要文件,Java需要执行类或jar文件javac用法: java用法 例子 Java命令后的"test.Test.class"会被认为是 ...

  3. 解决IOS上传竖向照片会旋转90度的问题

    // 解决IOS上传竖向照片会旋转90度的问题 rotate() { const that = this; that.imgOrientation = 1; let Orientation = nul ...

  4. Vue3 animate.css + wowjs 官网实现滚动到对应元素位置增加动画特效

    本人在Vue3中使用的是 setup语法糖 也就是 <script setup>...</ script> 在项目中install一下两个插件: yarn add animat ...

  5. Linux子系统之【内存管理】

    1.内存管理的意义? 内存是进程运行的地方,相当于是战场.完善的机制能让进程多快好省地运行. 2.原始内存管理是怎么样的? 简陋(直接运行在物理内存上).不安全(无隔离,无权限) 缺点:容易出错,进程 ...

  6. mysqli语句的用法

    改用了PHP7的环境后 mysql语句好像就不能用了.. 有点懵逼 就写一下该怎么用以免遗忘 ======= 1 链接数据库 $link=mysqli_connect('127.0.0.1:xxxx' ...

  7. Do whlie 循环

    Do whlie 循环 ◆对于while语句而言,如果不满足条件,则不能进入循环.但有时候我们需要即使不满足条件,也至少执行-次. ◆do...while循环和while循环相似,不同的是,do... ...

  8. java 线程池 带返回值

    import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorService;import ja ...

  9. ASP.NET利用JQuery实现AJAX(前台脚本代码)调用后台静态方法

    前台页面的script代码 PS: 如果不需要参数的话,就把data那一行删除 $(function () { //AJAX同步后台 var orderid = parseInt($(this).pa ...

  10. Kubernetes(k8s)pod详解

    一.简介 在Kubernetes集群中,Pod是所有业务类型的基础,也是K8S管理的最小单位级,它是一个或多个容器的组合.这些容器共享存储.网络和命名空间,以及如何运行的规范.在Pod中,所有容器都被 ...