zoukankan      html  css  js  c++  java
  • Spring MVC中的http请求注解之@RestController[转载]

    本次介绍SpringBoot中针对http的常用注解。SpringBoot之所以在现阶段从Spring全家桶中脱颖而出,不仅是其号称“轻量级”,在实际工作中,工程师也会发现大量的SpringMVC中配置文件工作,由注解替代。作为优质的服务端Java框架,今天着重介绍SpringBoot中与http请求相关的注解。

    SpringBoot仍然秉承MVC的架构,在注解命名方面遵循此类讲究,对于负责Restful API交互的功能模块,SpingBoot采用@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


    对于Map的返回为JSON类型字符串

    对于String的返回仍为String

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


    @Controller修饰后

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



    作者:瑞瑞余之
    链接:https://www.jianshu.com/p/6bbb5748ac83
    来源:简书
  • 相关阅读:
    java编译错误No enclosing instance of type TestFrame is accessible. Must qualify the allocation with an enclosing instance of type TestFrame (e.g. x.new A(
    java 2中创建线程方法
    动态规划基本思想
    关于eclipse编译一个工程多个main函数
    java Gui初识
    Eclipse中java项目的打包
    java 播放声音
    把资源文件夹导入到eclipse中
    Java建立JProgressBar
    How to grant permissions to a custom assembly that is referenced in a report in Reporting Services
  • 原文地址:https://www.cnblogs.com/Bruce_H21/p/13571048.html
Copyright © 2011-2022 走看看