当前位置: 首页 > 编程笔记 >

SpringBoot http请求注解@RestController原理解析

王锐
2023-03-14
本文向大家介绍SpringBoot http请求注解@RestController原理解析,包括了SpringBoot http请求注解@RestController原理解析的使用技巧和注意事项,需要的朋友参考一下

这篇文章主要介绍了SpringBoot http请求注解@RestController原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

@RestController

@RestController = @Controller + @ResponseBody组成,等号右边两位同志简单介绍两句,就明白我们@RestController的意义了:

@Controller 将当前修饰的类注入SpringBoot IOC容器,使得从该类所在的项目跑起来的过程中,这个类就被实例化。当然也有语义化的作用,即代表该类是充当Controller的作用

@ResponseBody 它的作用简短截说就是指该类中所有的API接口返回的数据,甭管你对应的方法返回Map或是其他Object,它会以Json字符串的形式返回给客户端,本人尝试了一下,如果返回的是String类型,则仍然是String。

@RestController
@RequestMapping("test")
public class SampleController {

  @GetMapping
  public Map testGet() {
    return new HashMap<String, String>(){{
      put("name", "springboot");
    }};
  }

  @GetMapping(path = "str")
  public String testGetStr() {
    return "OK";
  }
}

这部分代码对于Map返回则是JSON String,对于String则仍然是String

当将@RestController换成@Controller之后,对于/test的返回值如下图:

从报错可以看见,当@Controller修饰的时候,Spring以为会返回一个View(也就是MVC中的那C)但是返回的东西却是一个Map。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 问题内容: 我正在处理HTTP流量数据集,该数据集由完整的POST和GET请求组成,如下所示。我已经用Java编写了代码,该代码已经分离了每个请求,并将其另存为数组列表中的字符串元素。 现在我很困惑如何在Java中解析这些原始HTTP请求,有什么方法比手动解析更好吗? 问题答案: 我[正在]处理[HTTP]流量数据集,该数据集由完整的POST和GET请求组成 因此,您想解析包含多个HTTP请求的文

  • 我正在研究HTTP流量数据集,它由完整的POST和GET请求组成,如下所示。我用java编写了代码,将每个请求分开,并将其保存为数组列表中的字符串元素。现在我很困惑如何在java中解析这些原始HTTP请求,有什么方法比手动解析更好吗?

  • 11.3.1 @RestController和@RequestMapping注解 我们Example类的第一个注解是@RestController,它被称为stereotype注解。它为人们阅读代码提供了一些提示,而对Spring来说,该类具有特定的作用。在这种情况下,我们的类是一个Web @Controller,所以当处理传入的Web请求时Spring会考虑该类。 @RequestMapping

  • 我不明白为什么使用RestController注释将类声明为服务,如下所示: 调度员

  • 本文向大家介绍Spring AspectJ AOP框架注解原理解析,包括了Spring AspectJ AOP框架注解原理解析的使用技巧和注意事项,需要的朋友参考一下 什么是AspectJ AspectJ是一个面向切面的框架,它扩展了Java语言。AspectJ定义了AOP语法所以它有一个专门的编译器用来生成遵守Java字节编码规范的Class文件。 AspectJ是一个基于Java语言的AOP框

  • 本文向大家介绍Java annotation元注解原理实例解析,包括了Java annotation元注解原理实例解析的使用技巧和注意事项,需要的朋友参考一下 元注解是指注解的注解。包括 @Retention @Target @Document @Inherited四种。 1. Annotation型定义为@interface, 所有的Annotation会自动继承java.lang.Annota

  • 5.1 Enable注解用法 把配置文件里的属性注入到bean中 package com.clsaa.edu.springboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import o

  • 本文向大家介绍SpringMvc自动装箱及GET请求参数原理解析,包括了SpringMvc自动装箱及GET请求参数原理解析的使用技巧和注意事项,需要的朋友参考一下 在我的概念里边,GET请求需要加上注解@RequestParam,然后它的参数类型只能是 基本数据类型 或者 基本数据类型的包装类,比如:@RequestParam String name(默认是必传的),也可以不加@RequestPa