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. Oracle关联表进行修改操作(查询某个表,以某个表作为基础,修改其它表)

    merge into tableA a using( SELECT a,b,c from tableB ) b on (a.id = b.id)//这里一定要用括号包起来.... when match ...

  2. pycharm导入第三方包

  3. AES加密 php7版本 openssl_encrypt 遇到的坑

    与前端对接api ,解密不了前端加密的数据. 问题描述: 1.前端用 cryptojs  加密的 密钥是24位 , 2.后端用的php7的 openssl_encrypt  同密钥来进行解密,发现解密 ...

  4. vue3.0+vite+ts项目搭建--初始化项目

    使用yarn yarn create vite 使用pnpm pnpx create-vite(pnpm create vite + 项目名) 根据提示输入项目名称,选择vue框架,选择vue-ts, ...

  5. HTML Cookie

    目录 Cookie是什么 Cookie的属性 Cookie的作用域 Domain 属性 Path 属性 SameSite 属性 Cookie密码验证小案例 效果展示 代码 Cookie是什么 HTTP ...

  6. 使用netty 实现本地代理程序

    本地代理程序1:将远程的服务设置为本地端口访问我的台式PC安装了vm,因为都是机器私有IP,但我的另外的PC电脑也需要访问方便测试,需要要把VM的端口设置在台式本机对外,这样我台式的端口对外在局域网都 ...

  7. SQL相关知识点

    一.基本概念 数据库术语 数据库(database) - 保存有组织的数据的容器(通常是一个文件或一组文件). 数据表(table) - 某种特定类型数据的结构化清单. 模式(schema) - 关于 ...

  8. ORACLE ORA-12638:身份证明检索失败

    使用PLSQL连接远程数据库时,有时候会遇到提示ORA-12638:身份证明检索失败的问题,怎么办呢?有两种方法,选择一种更改就行了,网络上大多是第一种方法,如果已经找过不是你想要的答案,那不妨直接看 ...

  9. 借助5G智能网关实现无人化智慧农业应用

    发展智慧农业是新时代的必由之路.依托5G+物联网技术赋能农业生产,能够实现更少的人员需求,更大面积的综合土地管理,更实时精细的生产环境监测,更智能的生产自主管控.5G技术正以其广连接.低时延的优势,助 ...

  10. Java基础学习——Scanner

    import java.util.Scanner; public class HelloWord{ public static void main(String[] args){ Scanner s= ...