首页 > 其他分享 >SpringMvc第一天学习 restful 风格即其中的一些配置及其注解

SpringMvc第一天学习 restful 风格即其中的一些配置及其注解

时间:2022-10-13 18:34:08浏览次数:58  
标签:请求 SpringMvc POJO 参数 注解 接收 restful 用来

在先知道springMVC之前 我们先了解一下 MVC模式

MVC模式是表现层的一种设计模式 M代表着模型(model) V代表着视图(View) C代表着控制器(controller) 使用MVC的目的是将M和V分离,从而使程序可以有不同的表现形式

mvc具体来说就是(

V:即视图指用户看到并与之交互的界面,主要的作用是发送请求和数据并展示结果
C:即控制器,主要用来接收前端的请求和数据,并将请求数据交给对应的模型来处理,然后再确定用哪个视图来显示返回的结果
M:即模型指业务规则,主要用来处理前端的请求和数据并返回处理结果。

)

SpringMvc是一款非常优秀的基于Java编写的实现了MVC设计模式的轻量级WEB层框架,其主要的作用包括接收前端的请求、接收前端数据、转发业务层和响应结果,并且SpringMVC与Spring整合兼容性好,功能强大,支持RESTful风格

 

spring常用到的注解

@Controller:控制器注解,用来标识该类为SpringMVC的Controller对象,该注解不能使用@Component替换
@RequestMapping:用来设置controller类中方法的请求访问路径,可以写在类上和方法上
@GetMapping:作用等同于@RequestMapping,只能处理请求方式为GET的请求
@PostMapping:作用等同于@RequestMapping,只能处理请求方式为POST的请求
@DeleteMapping:作用等同于@RequestMapping,只能处理请求方式为DELETE的请求
@PutMapping:作用等同于@RequestMapping,只能处理请求方式为PUT的请求
@RequestBody:用来实现接收http请求的json数据,将json数据转换为java对象
@ResponseBody:如果controller类中方法的返回值为对象,SpringMVC会将其转换为json响应给前端,如果方法返回值是字符串,则会原样返回到前端
@RequestParam:用来绑定请求参数与Controller方法形参之间的关系
@PathVariable:用来接收RESTFUL的路径参数
@RestController:作用等同于@Controller+@ResponseBody

 

SpringMvc 的一个小案例 更加了解一下SpringMVC 

第一步 导入相关依赖 和tomcat启动

<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<port>80</port>
<path>/</path>
</configuration>
</plugin>
</plugins>
</build>

第二步创建Controller控制器类

 

 第三步创建配置类(SpringMvcConfig)

 

 第四步创建tomcat容器的servlet配置类(等到学springBoot时将不用写这个)

 

 springMVC获取请求参数的几种

SpringMVC为我们提供了很多种获取参数的方式,其中包含普通参数、POJO类型参数、嵌套POJO类型参数、数组类型参数、集合类型参数以及JSON数据类型参数。
1.普通参数有两种数据传递方式
方式一:url?key=value,确保方法的形参与key一致即可接收,如果不一致需要使用@RequestParam来建立关系
方式二:url/value,RESTFul参数传递方式即为路径参数,需要使用@PathVariable来接收
2.普通参数如果过多,在方法中编写参数就比较麻烦,此时可以使用POJO数据类型来接收,需要确保POJO的属性名和参数的key一致即可
3.POJO对象也可以嵌套其他的POJO,可以用来接收比较复杂的数据,比如用户中包含地址信息
4.数组类型参数可以用来接收key相同的多个参数,比如用户的爱好信息等
5.集合类型参数,使用数组来接收的数据也可以使用集合来接收,但是需要在参数前添加@RequestParam注解
6.对于JSON数据类型参数,后台接收需要使用@RequestBody

1普通参数类型

 

 

 

 user类

 

 数组与集合

 

 json传输数据(重点)(注json传输数据必须要在请求参数前面加@RequestBody注解要不然是会传输不过去的!)

 

 

 

利用PostMan来发送json数据(增加(post),(put))

 

 

 响应前端的几种形式

 

 rest风格 (风格是可以打破的,更改的,不是标准)   REST即表现形式状态转换,它是一种软件架构风格,不是标准。简单概括就是通过使用同一个请求地址和不同的请求动作来区分对资源进行不同的操作,如GET用来做查询,POST用来做新增,PUT用来做修改,DELETE用来做删除。

restful RESTful是基于REST构建的API统称为RESTful。

rest数据书写优化是我们常用的

优化前的代码如下

 

 

 

 

 

优化后大大减少了书写代码量

现将controller类上的注解改变为@RestController(他的作用等同于@ResponseBody+@Controller)

 

 然后其中的方法注解也更改了

 

 

 

标签:请求,SpringMvc,POJO,参数,注解,接收,restful,用来
From: https://www.cnblogs.com/jiayuyao/p/16789232.html

相关文章

  • 注解_JDK内置注解与注解_自定义注解_格式&本质
    注解_JDK内置注解JDK中预定义的一些注解基本内置注解@Override:检测被该注解标注的方法是否继承自父类(接口)的@Deprecated:该注解标注内容,表示已过时......
  • 反射_Class对象功能_获取Constructor与注解_概念
    反射_Class对象功能_获取Constructor案例:需求:写一个“框架”,不能改变该类的任何代码的前提下,可以帮我们创建任意类的对象,并且执行其中任意方法实现:......
  • springboot使用自定义注解实现加解密及脱敏
    原文链接: https://www.yisu.com/zixun/622633.html这篇文章主要介绍springboot中如何使用自定义注解实现加解密及脱敏方式,文中介绍的非常详细,具有一定的参考价值,感兴趣......
  • Java反射解析注解
     packagecom.jeeplus.config;importjavax.validation.constraints.Size;importjava.lang.annotation.Annotation;importjava.lang.reflect.Field;importjava.......
  • SpringMVC简介
    SpringMVC简介大部分Java应用都是Web应用,展现层是WEB应用不可忽略的重要环节.Spring为了展现层提供了一个优秀的WEB框架-SpringMVC . 和众多的其他WEB框架一样,它基于......
  • Springmvc简介
    ​SpringMVC简介大部分Java应用都是Web应用,展现层是WEB应用不可忽略的重要环节.Spring为了展现层提供了一个优秀的WEB框架-SpringMVC . 和众多的其他WEB框架一样,......
  • 事务注解:@Transtation
    事务注解:@Transtation@Transactional注解可以作用于接口、接口方法、类以及类方法上当作用于类上时,该类的所有public方法将都具有该类型的事务属性当作用在方法......
  • SpringBoot 自定义注解 实现多数据源
    SpringBoot自定义注解实现多数据源前置学习需要了解注解、Aop、SpringBoot整合Mybatis的使用。数据准备基础项目代码:https://gitee.com/J_look/spring-boot-all-dem......
  • RESTfulDEMO一:SAP如何提供RESTfulWeb服务
    SAP推荐以OData方式提供RestfulService。Netweaver7.4之后的版本可以直接使用OData服务。7.4之前的版本需要升级GW_CORE、IW_FND和IW_BEP三个核心组件(参见SA......
  • SpringBoot_RestFul风格CURD
    一、什么是RestFulREST(英文:RepresentationalStateTransfer,简称REST,意思:表述性状态转换,描述了一个架构样式的网络系统,比如web应用),是一种软件架构风格不是标准哦!一种软......