Spring web MVC(2)

1、@RequestMapping称为路由映射(既是类注解也是方法注解提供访问路径)

2、@RequestParam起到重命名的作用,也起到绑定的作用,传递集合list时会用到,多个值绑定给list,默认是必传参数如果不传参数需要设置required=false

3、JSON(javaScript对象表示法)就是数据格式,表示一个对象的数组或数组的信息,本质就是字符串,主要负责在不同的语言中数据传递和转换

JSON基本数据格式展示

也可以压缩表示,提高性能

网上有json格式检测的工具如果感觉自己的格式不知对错可以去检测一下

4、JSON代码编写

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;public class JSONUtils {public static void main(String[] args) throws JsonProcessingException {ObjectMapper objectMapper=new ObjectMapper();UserInfo userInfo=new UserInfo();userInfo.setName("zhangsan");userInfo.setAge(18);userInfo.setId(10);//对象转JSONString s=objectMapper.writeValueAsString(userInfo);System.out.println(s);//JSON字符串转java对象UserInfo userInfo1=objectMapper.readValue(s,UserInfo.class);System.out.println(userInfo1);}
}

输出

5、JSON优点

6、JSON代码传递参数编写

@RestController
@RequestMapping("/user")
public class user {@RequestMapping("/r1")public  String r1(@RequestBody UserInfo userInfo) {return userInfo.toString();}
}

7、获取URL中的参数(路径中大括号的参数要和Integer后面的一样才行)

@PathVariable获取路径中的参数

(1)单个参数

@RestController
@RequestMapping("/user")
public class user {@RequestMapping("/r1/{articleId}")public  String r1(@PathVariable Integer articleId) {return "articleId:"+articleId;}
}

(2)请求多个参数时(参数必须赋值)

@RestController
@RequestMapping("/user")
public class user {@RequestMapping("/r1/{articleId}/{id}")public  String r1(@PathVariable Integer articleId,@PathVariable Integer id) {return "articleId:"+articleId+"   id:"+id;}
}

(3)对参数进行换名字

@RestController
@RequestMapping("/user")
public class user {@RequestMapping("/r1/{articleId}/{id}")public  String r1(@PathVariable("articleId") Integer xinId,@PathVariable Integer id) {return "articleId:"+xinId+"   id:"+id;}
}

8、获得文件

@RequestPart注解来获取文件

(1)获取文件

在这里改成上传文件

@RestController
@RequestMapping("/user")
public class user {@RequestMapping("/r1")public  String r1(@RequestPart MultipartFile file) {return "获取上传文件:"+file.getOriginalFilename();}
}

(2)将获取到的文件放在指定路径下

@RestController
@RequestMapping("/user")
public class user {@RequestMapping("/r1")public  String r1(@RequestPart MultipartFile file) throws IOException {String fileName=file.getOriginalFilename();file.transferTo(new File("D:/demo"+fileName));return "获取上传文件:"+file.getOriginalFilename();}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/745351.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在Windows 10上打开和关闭平板模式?这里提供详细步骤

前言 默认情况下,当你将可翻转PC重新配置为平板模式时,Windows 10会自动切换到平板模式。如果你希望手动打开或关闭平板模式,有几种方法可以实现。​ 自动平板模式在Windows 10上如何工作 如果你使用的是二合一可翻转笔记本电脑&#xff0…

Spring, SpringBoot, SpringCloud,微服务

1,SSM (Spring+SpringMVC+MyBatis) SSM框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容),常作为数据源较简单的web项目的框架。 Spring MVC 是 Spring 提供的一个基于 MVC 设计模式的轻量级 Web 开发框架,本质上相当于 Servlet,Controlle…

vue 基于elementUI/antd-vue, h函数实现message中嵌套链接跳转到指定路由 (h函数点击事件的写法)

效果如图: 点击message 组件中的 工单管理, 跳转到工单管理页面。 以下是基于vue3 antd-vue 代码如下: import { message } from ant-design-vue; import { h, reactive, ref, watch } from vue; import { useRouter } from vue-router; c…

PY32离线烧录器功能介绍,可批量烧录,支持PY32系列多款单片机

PY32离线烧录器可以对PY系列单片机进行批量烧录,现支持PY32F002A/002B/002/003/030/071/072/040/403/303芯片各封装和XL2409,XL32F001/003等芯片。PY32离线烧录器需要搭配上位机软件才能使用,上位机软件在我们官网(www.xinlinggo.…

【软考】UML中的图之对象图

目录 1. 说明2. 图示3. 特性 1. 说明 1.对象图即object diagram2.展现了某一时刻一组对象以及它们之间的关系3.描述了在类图中所建立的事物的实例的静态快照4.对象图一般包括对象和链5.对象图展示的是对象之间关系,不存在交互,所以不是交互图 2. 图示 …

#微信小程序(一个emo文案界面)

1.IDE:微信开发者工具 2.实验:一个emo文案界面 (1)最好使用rpx (2)图片宽度占不满,在CSS中设置width为100% (3)imag图片全部为网页链接图片 3.记录 4.代码 index.htm…

Jmeter+ant,ant安装与配置

1.ant含义 ant:Ant翻译过来是蚂蚁的意思,在我们做接口测试的时候,是可以用来做JMeter接口测试生成测试报告的工具 2.ant下载 下载地址:Apache Ant - Ant Manual Distributions download中选择ant 下载安装最新版zip文件 3.…

阿里云国际放行DDoS高防回源IP

如果源站服务器上设置了IP白名单访问控制(如安全软件、安全组),由于设置了DDoS高防后,回源IP是高防回源IP段,您需要将DDoS高防的回源IP段的地址加入安全软件和安全组的白名单中,避免DDoS高防的回源流量被误…

导入fetch_california_housing 加州房价数据集报错解决(HTTPError: HTTP Error 403: Forbidden)

报错 HTTPError Traceback (most recent call last) Cell In[3], line 52 from sklearn.datasets import fetch_california_housing3 from sklearn.model_selection import train_test_split ----> 5 X, Y fetch_california_housing(retu…

发布组件到npm

1.环境准备&#xff0c;需要装好node&#xff0c;注册号npm账号,这里不做详解 2.创建编写组件和方法的文件夹package 3.在文件夹中创建需要定义的组件&#xff0c;并且加上name属性 //组件 <template><div><button>按钮组件</button></div> &…

VSSM VMamba实现

文章目录 VSSM维度变换初始化模型参数初始化模型搭建def_make_layerdef _make_downsample patch embed第一至四阶段分类器 VSSBlockdef __ init__ssm分支mlp分支 def forward VSSM Mamba实现可以参照之前的 mamba_minimal系列 论文地址&#xff1a; VMamba 论文阅读&#xff1…

Vscode 修改C++版本

1. 首先要检查GCC版本&#xff0c;有的gcc版本过低会导致C版本升级不成功 可以用cmd&#xff0c;用gcc --version命令查看gcc版本 我这里就是gcc版本较低&#xff0c;不支持c17 需要先升级gcc版本 gcc与c对应的版本&#xff0c;大家可以在这位大佬的博客中看&#xff0c;写…

经典排序算法之计数排序|c++代码实现

引言 排序算法c实现系列第8弹——计数排序。 计数排序是理解起来相对简单的一个排序算法&#xff0c; 计数排序 计数排序&#xff08;Counting Sort&#xff09;是一种非比较型的排序算法&#xff0c;它的基本思想是统计待排序数组中每个元素的出现次数&#xff0c;然后根据…

django-q轻量级定时任务制定

django-q ,celery&#xff0c;apschedule都可以作为python的选型&#xff0c;但是django-q更轻量级&#xff0c;可以定制想要的任务&#xff0c;通过消息中间件&#xff0c;来实现不太高并发的实现 官网介绍地址 django-q官网地址 本次测试的是python3.12版本 首先需要安装dja…

几何相互作用GNN预测3D-PLA

预测PLA是药物发现中的核心问题。最近的进展显示了将ML应用于PLA预测的巨大潜力。然而,它们大多忽略了复合物的3D结构和蛋白质与配体之间的物理相互作用,而这对于理解结合机制至关重要。作者提出了一种结合3D结构和物理相互作用的几何相互作用图神经网络GIGN,用于预测蛋白质…

架构实战--以海量存储系统讲解热门话题:分布式概念

关注我&#xff0c;持续分享逻辑思维&管理思维&#xff1b; 可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导&#xff1b; 有意找工作的同学&#xff0c;请参考博主的原创&#xff1a;《面试官心得--面试前应该如何准备》&#xff0c;《面试官心得--面试时如何进行自…

Nodejs 第五十七章(addon)

Nodejs在IO方面拥有极强的能力&#xff0c;但是对CPU密集型任务&#xff0c;会有不足&#xff0c;为了填补这方面的缺点&#xff0c;Nodejs支持c/c为其编写原生nodejs插件&#xff0c;补充这方面的能力。 Nodejs c扩展 c编写的代码能够被编译成一个动态链接库(dll),可以被nod…

VMware workstation的安装

VMware workstation安装&#xff1a; 1.双击VMware-workstation-full-9.0.0-812388.exe 2.点击next进行安装 选择安装方式 Typical&#xff1a;典型安装 Custom&#xff1a;自定义安装 选择程序安装位置 点击change选择程序安装位置&#xff0c;然后点击next 选择是否自动…

vue 如何实现手机横屏功能

功能背景 有些需求需要手动实现横屏功能&#xff0c;比如点击一个横屏的图标将整个页面90度翻转&#xff0c;再点击退出横屏回到正常页面。 实现思路 一拿到这个需求很可能就被吓到了&#xff0c;但简单来说&#xff0c;就是点击横屏按钮跳转一个新页面&#xff0c;通过 cs…

手动创建线程池各个参数的意义?

今天我们学习线程池各个参数的含义&#xff0c;并重点掌握线程池中线程是在什么时机被创建和销毁的。 线程池的参数 首先&#xff0c;我们来看下线程池中各个参数的含义&#xff0c;如表所示线程池主要有 6 个参数&#xff0c;其中第 3 个参数由 keepAliveTime 时间单位组成。…