RestFul风格 — 使用@PathVariable传递参数报错404的解决
目录
- @PathVariable传递参数报错404
- restFul风格传参, 参数中带斜杠/问题
@PathVariable传递参数报错404
代码:
@RequestMapping("/test1/{a}/{b}") public String test1(@PathVariable int a, @PathVariable int b, Model model){ int res=a+b; model.addAttribute("msg",res); return "test"; }
报错:
错误原因:视图解析器配置配置中,前缀少写了一个 "/" .
正确:
<!--视图解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver"> <!--前缀--> <property name="prefix" value="/WEB-INF/jsp/" /> <!--后缀--> <property name="suffix" value=".jsp" /> </bean>
restFul风格传参, 参数中带斜杠/问题
今天遇到一个restful接口路径传参问题,我的接口路径传参带斜杠,这样和restful地址就不一致了报404错误,然后看到这样一个解决方法,亲测可用。
@GetMapping("user/find/by/{name}/**") public String getMapping(@PathVariable String name, HttpServletRequest request){ String path = request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE).toString(); String path2 = request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE).toString(); String args = new AntPathMatcher().extractPathWithinPattern(path2, path); return name + "/" + args; }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
SpringBoot集成Swagger2实现Restful(类型转换错误解决办法)
pom.xml增加依赖包 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.2.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <
-
Java进阶之走进RESTful接口
一.什么是API API (应用程序编程接口) 两种用法 1.类似jar的使用:A软件将功能打包成组件(功能块:比如java中的jar),让B软件导入直接使用 2.http请求方式:A项目(系统)提供一个映射方法路径,B项目(系统)发起http请求得到对应功能 (应用请求方式) 应用接口:很多情况下,需要把系统的部分功能(组件)作为服务暴露给外部的其他应用使用,所以就需要把系统中的服务作为API接口暴露出去,一般分为公共接口和私用接口(公司内部) 二.了解Web技术的发展阶段 静态内容阶段:We
-
Restful传递数组参数及注解大全
RESTful 一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制. 需要传递数组参数的情况,如果是一般的form表单,可以直接定义参数类型为List<String>即可(不能定义为数组类型,否则只能得到一个null). 示例代码如下: @POST @Path("/user" ) public Response createUser(@FormPara
-
@PathVariable注解,让spring支持参数带值功能的案例
@PathVariable的作用 获取URL动态变量,例如 @RequestMapping("/users/{userid}") @ResponseBody public String getUser(@PathVariable String userid){ return "userid=" + userid; } @PathVariable的包引用 spring自从3.0版本就引入了org.springframework.web.bind.annotation.
-
RestFul风格 — 使用@PathVariable传递参数报错404的解决
目录 @PathVariable传递参数报错404 restFul风格传参, 参数中带斜杠/问题 @PathVariable传递参数报错404 代码: @RequestMapping("/test1/{a}/{b}") public String test1(@PathVariable int a, @PathVariable int b, Model model){ int res=a+b; model.addAttribute("msg",res); retur
-
SpringBoot启动访问localhost:8080报错404的解决操作
1.确定本地网络是通的: 2.确定SpringBootq启动后是不报错的 3.查看是不是自己在配置文件中加入了项目路径: 如果加入了项目路径的话,直接访问localhost:8080是不会到欢迎页面的,需要加上项目路径才能访问到欢迎页面,即localhost:8080/sell 补充知识:SpringBoot的web项目启动起来无法访问,访问时还是提示无法访问该网站 有时候可能是因为你的pom中导入了太多的依赖,一些依赖之间可能存在冲突导致项目未完全启动而无法访问显示:无法访问该网站 以上这篇S
-
Vue3刷新页面报错404的解决方法
vue-router历史模式 最近在学习Vue3的过程中遇到了一个问题,那就是在写代码的过程中,每当代码发生了变动,页面一刷新,原先的页面就会变成这个样子: 打开控制台一看: 这时候刷新.在浏览器地址栏直接输入地址也不管用. 每次写一点代码,都不能及时看到结果,需要从8080重新进入才可以,其中的崩溃可想而知. 此时判断应该是路由跳转的问题,于是来到router.js文件看一看: import { createRouter, createWebHistory } from 'vue-router
-
解决 Spring RestTemplate post传递参数时报错问题
今天跟同事接口联调,使用RestTemplate请求服务端的post接口(使用python开发).诡异的是,post请求,返回500 Internal Server Error,而使用get请求,返回正常.代码如下: HashMap<String, Object> hashMap = Maps.newHashMap(); hashMap.put("data", JSONObject.toJSONString(params)); url = "http://mydo
-
Oracle+Mybatis的foreach insert批量插入报错的快速解决办法
最近做一个批量导入的需求,将多条记录批量插入数据库中. 解决思路:在程序中封装一个List集合对象,然后把该集合中的实体插入到数据库中,因为项目使用了MyBatis,所以打算使用MyBatis的foreach功能进行批量插入.期间遇到了"SQL 命令未正确结束 "的错误,最终解决,记录下来供以后查阅和学习. 首先,在网上参考了有关Mybatis的foreach insert的资料,具体如下: foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合. foreach
-
Pandas之read_csv()读取文件跳过报错行的解决
读取文件时遇到和列数不对应的行,此时会报错.若报错行可以忽略,则添加以下参数: 样式: pandas.read_csv(***,error_bad_lines=False) pandas.read_csv(filePath) 方法来读取csv文件时,可能会出现这种错误: ParserError:Error tokenizing data.C error:Expected 2 fields in line 407,saw 3. 是指在csv文件的第407行数据,期待2个字段,但在第407行实际发现
-
文件上传SpringBoot后端MultipartFile参数报空问题的解决办法
最近写了一个文件上传的小demo,就是简单的前端html页面,后端controller接收,但是后端一直报错文件为null,看了很多文章,有说spring-boot自带的org.springframework.web.multipart.MultipartFile和Multipart冲突了,要在启动类中加入@EnableAutoConfiguration(exclue={MultipartAutoConfiguration.class}),有说要在MultipartFile参数前加上@Reque
-
解决VueCil代理本地proxytable无效报错404的问题
前言 因为项目中遇到了这个bug:Vue cil2中配置代理proxytable成功,却无效报错404,在后端和代理都配置无误的情况下,还是报404,先已解决,特记录,希望能帮助到他人: 正文 1. 为什么要使用代理? 代理的作用是:把请求代理转发到其他服务器的中间件: 例如:我们当前主机为http://localhost:8080/,现在我们有一个需求,如果我们请求/api,我们不希望由3000来处理这个请求,而希望由另一台服务器https://www.example.org/api来处理这个
-
react创建项目启动报错的完美解决方法
目录 一.预备知识: 二.创建项目步骤: 三.启动项目时可能出现的报错: 四.Todolist项目相关库: 五.GitHub搜索案例相关库: 六.尚硅谷路由案例相关库: 七.UI库案例相关库: 八.redux相关库: 一.预备知识: npm (也可以用yarn,本文以npm为例) npm介绍 全称为Node Package Manager,是随同NodeJS一起安装的包管理工具. 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地
-
Vue代理报错404问题及解决(vue配置proxy)
目录 Vue代理报错404问题 第一种路径拼接 /api 情况 第二种路径不变情况 注意点 新增说明:配置多个代理怎么搞? 总结 Vue代理报错404问题 问题描述: 代理后出现404: 第一种路径拼接 /api 情况 const path = require('path'); function resolve(dir) { return path.resolve(__dirname, dir) } module.exports = { publicPath: process.env.NODE_
随机推荐
- 用批处理写的后门 永不被杀
- 基于ScheduledExecutorService的两种方法(详解)
- perl常量、多维数组及变量的初始化的实例代码
- ASP.NET The system cannot find the file specified解决办法
- PHP递归复制、移动目录的自定义函数分享
- php版微信公众平台之微信网页登陆授权示例
- 用javascript实现在小方框中浏览大图的代码
- JSP 制作验证码的实例详解
- 深入理解mysql之left join 使用详解
- Android中Splash应用启动白屏问题的解决方法
- MySql删除和更新操作对性能有影响吗
- 第四章 php数学运算
- JS正则表达式修饰符global(/g)用法分析
- 解决jquery插件冲突的问题
- PHP实现生成唯一会员卡号
- javascript十六进制及二进制转化的方法
- android中用xml文件实现带边框背景效果的方法
- asp控件和html控件的概念区别
- CI框架AR数据库操作常用函数总结
- C++利用opencv实现人脸检测