首页 > 其他分享 >@RestController和@Controller注解

@RestController和@Controller注解

时间:2024-02-07 17:59:06浏览次数:24  
标签:Web 控制器 RestController Controller 注解 RESTful

 

@RestController和@Controller是Spring框架中用于定义控制器的两个注解;

 

@RestConteroller注解:

  •  @RestController是@Controller的特殊形式,是用于创建 RESTful Web 服务的控制器类,而非传统的Web形式;
  •  控制器方法使用@RequstMapping或其他衍生注解来映射url路径,这些数据返回的是数据对象,却不是视图名称。这些数据对象会被自动序列化成JOSN和XML格式,并作为HTTP响应的一部分发送给客户端。
  •  @RestController相当于@Controller+@ResponseBody;

 

@Controller注解:

  •  @Controller是一个SpringMVC定义控制器的注解,处理传统的Web请求/响应模型——HTTP请求,处理请求中的逻辑,返回一个视图(即HTML页面)给客户端;
  •  控制器方法使用@RequstMapping或其他衍生注解来映射url路径,会返回一个视图名称。(常见的有jsp)
  •  在使用@Controller时需使用@ResponseBody注解(每个方法)

 

总结:

  简单来说,@Controller用于Web/返回网页,而@RestController返回数据。

 


 

  RESTful服务趋势:RESRful服务的兴起,@RestController变得越来越流行。提供了一种简单和直接的方式构建API,用于不同的系统间进行数据交换。

  数据交换格式和资源设计:在编写RESTful服务时,开发者需要考虑数据的交换格式(例如JSON或XML),以及如何设计API的资源路径和方法,以符合RESTful架构的最佳实践。

 

标签:Web,控制器,RestController,Controller,注解,RESTful
From: https://www.cnblogs.com/warmNest-llb/p/18011141

相关文章

  • Spring Boot 集成 Redisson分布式锁(注解版)
    转载自:https://blog.csdn.net/Ascend1977/article/details/131126047        Redisson是一种基于Redis的Java驻留集群的分布式对象和服务库,可以为我们提供丰富的分布式锁和线程安全集合的实现。在SpringBoot应用程序中使用Redisson可以方便地实现分布式应用......
  • 为什么kube-controller-manager启动后https长连接数量是2
    k8sv1.19.0单节点集群2条长连接编译二进制并调试cdcmd/kube-controller-manager&&gobuild#vscodelaunch.json{"name":"Launch","type":"go","request":"launch","mode":......
  • JUnit 5 注解总结与解析
    前言大家好,我是chowley,通过前篇的JUnit实践,我对这个框架产生了好奇,除了断言判断,它还有哪些用处呢?下面来总结一下它的常见注解及作用。正文在Java单元测试中,JUnit是一种常用的测试框架,它提供了丰富的注解用于标识测试方法、设置测试环境以及控制测试执行流程。除了用于断言判断之......
  • 【Spring】- 自动注入注解
    【@Autowired】冷知识:@AutowiredprivateMovieCatalog[]movieCatalogs;//根据类型注入全部的bean对象数组@AutowiredprivateSet<MovieCatalog>movieCatalogs;//根据类型注入全部的bean对象集合@AutowiredprivateMap<String,MovieCatalog>movieCatalogs;//根据类型注......
  • spring boot controller设置返回json
    在SpringBoot中,Controller通常会返回JSON格式的数据,这得益于SpringBoot的自动配置能力以及内嵌的Jackson库。以下是如何设置Controller返回JSON数据的基本步骤:添加依赖:首先,确保你的项目中包含了SpringBoot的WebStarter依赖,它已经包括了Jackson库,用于处理JSON序列化。<dependen......
  • 在K8S中,Replica Set和Replication Controller之间有什么区别?
    在Kubernetes(K8s)中,ReplicaSet和ReplicationController(RC)都是用于确保集群中特定数量的Pod副本始终运行的服务。尽管它们有相似的功能,但在功能演变过程中,ReplicaSet是对ReplicationController的改进和升级。ReplicationController(RC):在早期版本的Kubernetes......
  • 前后端跨域竟然不需要加注解!
    众所周知前后端跨域一直是让人头疼的问题。那什么是跨域呢?出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策......
  • Java-10注解与反射
    注解注解(Annotation)也被称为元数据(Metadata),用于修饰包、方法、属性、构造器、局部变量等数据信息。注解不影响程序逻辑,但注解可以被编译或运行。在JavaSE中,注解的使用目的比较简单,例如标记过时的功能,忽略警告等。在JavaEE中注解占据了更重要的角色,例如用来配置应用程序的......
  • Spring-xml(+注解)方式整合第三方的框架-mybatis
    1)不需要自定义命名空间:MyBatisSpring整合Mybatis的步骤如下://原始配置<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.49</version></dependency><dependenc......
  • 使用annotationForMap实例化注解
    sun.reflect.annotation.AnnotationParser#annotationForMap/***Returnsanannotationofthegiventypebackedbythegiven*member->valuemap.*/publicstaticAnnotationannotationForMap(finalClass<?extendsAnnotation>......