iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >SpringMVC@GetMapping注解路径冲突问题解决
  • 596
分享到

SpringMVC@GetMapping注解路径冲突问题解决

2024-04-02 19:04:59 596人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

在springMVC的入门学习中,我发现@GetMapping注解的使用要注意路径冲突问题,在网上都没找到类似我这样的情况,所以我在这里将问题分享出来,希望遇到我这样的问题的可以有个

springMVC入门学习中,我发现@GetMapping注解的使用要注意路径冲突问题,在网上都没找到类似我这样的情况,所以我在这里将问题分享出来,希望遇到我这样的问题的可以有个参考,但是为什么这样就不行我还没搞懂,希望知道的人可以在评论区或者私信告诉我。问题如下:我的controller层有两个查询操作,一个是按id查询,一个是按name模糊查询,一开始我的程序是

    @GetMapping("/{id}")
    public Result getById(@PathVariable Integer id) {
        if(id == 0){
            throw new BusinessException(Code.BUSINESS_ERR,"请规范您的操作!");
        }
        Book book = bookService.getById(id);
        Integer code = (book == null? Code.GET_ERR:Code.GET_OK);
        String msg = (book == null? "数据查询失败!":"");
        return new Result(code,book,msg);
    }

    @GetMapping(value = ("/{name}"))
    public Result getByName(@PathVariable String name){
        //解决中文乱码
        byte[] bytes = name.getBytes(StandardCharsets.ISO_8859_1);
        String Name = new String(bytes,StandardCharsets.UTF_8);

        List<Book> bookList = bookService.getByName(Name);
        Integer code = (bookList == null ? Code.GET_ERR:Code.GET_OK);
        String msg = (bookList == null? "系统繁忙,请稍后再试!":"");
        return new Result(code,bookList,msg);
    }

在这里插入图片描述

此时编译不报错,用apifox进行测试

在这里插入图片描述

在这里插入图片描述

可以看到无论是想用id查询还是用name查询都无法查询成功,说明程序无法识别哪个是按id查询哪个是按name查询这时候就想到如果在每个@GetMapping中指定具体路径呢?下面来尝试一下

@GetMapping("/getById/{id}")
@GetMapping(value = ("/getByName/{name}"))

运行结果:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

可以看到通过id查询可以查询成功,但是通过name查询时候无论是在路径中添加参数还是自定义参数都无法查询成功,这里我也搞不明白,希望知道原理的大佬可以告诉我,十分感谢!
最终我找到的解决方案是指定参数名称(不知道这样说对不对,可以看代码):

@GetMapping(value = ("/getById"))
    public Result getById(@RequestParam("id") Integer id) {
        System.out.println("id="+id);
        if(id == 0){
            throw new BusinessException(Code.BUSINESS_ERR,"请规范您的操作!");
        }
        //将可能出现的异常进行包装,转换成自定义异常
        try{
            int i = 1/0;
        }catch (Exception e){
            throw new SystemException(Code.SYSTEM_TIMEOUT_ERR,"服务器访问超时,请稍后再试!",e);
        }
        Book book = bookService.getById(id);
        Integer code = (book == null? Code.GET_ERR:Code.GET_OK);
        String msg = (book == null? "数据查询失败!":"");
        return new Result(code,book,msg);
    }

    @GetMapping(value = ("/getByName"))
    public Result getByName(@RequestParam("name") String name){
        //解决中文乱码   要注意用SpringBoot时不需要进行中文乱码处理
        byte[] bytes = name.getBytes(StandardCharsets.ISO_8859_1);
        String Name = new String(bytes,StandardCharsets.UTF_8);

        List<Book> bookList = bookService.getByName(Name);
        Integer code = (bookList == null ? Code.GET_ERR:Code.GET_OK);
        String msg = (bookList == null? "系统繁忙,请稍后再试!":"");
        return new Result(code,bookList,msg);
    }

此时查询:

在这里插入图片描述

在这里插入图片描述

要注意参数位置,此时可以看到两者都查询成功,至此问题解决,要是有大佬知道用

@GetMapping("/getById/{id}")
@GetMapping(value = ("/getByName/{name}"))

这种方法怎么做还请告诉我一下。

到此这篇关于springmvc @GetMapping注解路径冲突问题解决的文章就介绍到这了,更多相关SpringMVC @GetMapping路径冲突内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: SpringMVC@GetMapping注解路径冲突问题解决

本文链接: https://www.lsjlt.com/news/154023.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringMVC@GetMapping注解路径冲突问题解决
    在SpringMVC的入门学习中,我发现@GetMapping注解的使用要注意路径冲突问题,在网上都没找到类似我这样的情况,所以我在这里将问题分享出来,希望遇到我这样的问题的可以有个...
    99+
    2024-04-02
  • SpringMVC @GetMapping注解路径冲突问题怎么解决
    本文小编为大家详细介绍“SpringMVC @GetMapping注解路径冲突问题怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“SpringMVC @GetMapping注解路径冲突问题怎么解决”文章能帮助大家...
    99+
    2023-07-02
  • PHP和NPM的路径冲突:如何解决?
    在开发Web应用程序时,使用PHP和NPM是很常见的。但是,有时候这两个工具之间会出现路径冲突,导致开发过程中出现问题。在本文中,我们将探讨PHP和NPM之间的路径冲突,并提供解决方案。 什么是路径冲突? 路径冲突指的是在系统环境变量中,...
    99+
    2023-07-11
    npm unix path
  • 怎么解决Maven冲突问题
    这篇文章主要介绍“怎么解决Maven冲突问题”,在日常操作中,相信很多人在怎么解决Maven冲突问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么解决Maven冲突问题”...
    99+
    2024-04-02
  • Spring和SpringMVC扫描注解类冲突的解决方案
    目录Spring和SpringMVC扫描注解类冲突最正确的配置方式也可以用直接扫描的方式几种不同配置的测试Spring和SpringMVC注解扫描注意事项现象方法Spring和Spr...
    99+
    2024-04-02
  • vue中怎么解决跨域路由冲突问题
    今天就跟大家聊聊有关vue中怎么解决跨域路由冲突问题,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。vue 简介Vue.js(读音 /vjuː/, 类...
    99+
    2024-04-02
  • 解决docker与vmware的冲突问题
    1、docker启动问题: 问题解决: 需要开启Hyper-V,(开启方法:控制面板->程序->程序和功能->启动或关闭Windows功能,然后再重新启动电脑) ...
    99+
    2024-04-02
  • 缓存问题:Java路径和Apache服务器之间的冲突如何解决?
    在开发过程中,我们常常需要使用缓存来提高系统的性能。在Java中,我们可以使用Java缓存API来实现缓存功能。但是,在使用缓存时,我们也会遇到一些问题,例如Java路径和Apache服务器之间的冲突。 Java路径和Apache服务器之...
    99+
    2023-07-29
    path 缓存 apache
  • React样式冲突解决问题如何解决
    本篇内容主要讲解“React样式冲突解决问题如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“React样式冲突解决问题如何解决”吧!前言:React最终编译打包后都在一个html页面中,如...
    99+
    2023-07-05
  • jQuery命名冲突问题怎么解决
    这篇文章主要介绍“jQuery命名冲突问题怎么解决”,在日常操作中,相信很多人在jQuery命名冲突问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jQuery命名...
    99+
    2024-04-02
  • maven冲突依赖问题如何解决
    Maven冲突依赖问题可以通过以下方法解决: 使用`mvn dependency:tree`命令查看项目的依赖树,找到冲突的依赖...
    99+
    2023-10-27
    maven
  • 解决Mybatis中mapper的ID冲突问题
    mapper 的id冲突原因: 原因一: 在同一个mapper.xml中存在相同的ID 原因二: 同时使用了xml配置和注解配置 解决方案: 只保留xml或者注解即可!!! Myb...
    99+
    2024-04-02
  • gradle依赖冲突问题怎么解决
    在Gradle中,依赖冲突通常是由于不同的依赖项引入了相同的库的不同版本造成的。以下是一些解决依赖冲突问题的方法:1. 使用`gra...
    99+
    2023-10-11
    gradle
  • 如何解决css样式冲突问题
    本篇内容主要讲解“如何解决css样式冲突问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决css样式冲突问题”吧! 解决方法...
    99+
    2024-04-02
  • git提交冲突问题如何解决
    解决 Git 提交冲突问题一般有以下几个步骤: 确定冲突的文件:在使用 Git 进行提交时,可能会出现冲突的文件。使用 `git...
    99+
    2023-10-26
    git
  • 怎么解决Git合并冲突的问题
    本篇内容介绍了“怎么解决Git合并冲突的问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!合并并不仅仅是简单的文件添加、移除的操作,Git ...
    99+
    2023-06-04
  • springboot依赖冲突问题及解决过程
    项目场景:  新搭了一个springboot 2.3.7.RELASE的框架,在集成mysql,tkMapper,mybatis的过程中,启动报错。 问题描述: 提示各种依...
    99+
    2024-04-02
  • 解决SpringBoot中MultipartResolver和ServletFileUpload的冲突问题
    目录MultipartResolver和ServletFileUpload冲突1.首先spring boot默认会调用MultipartResolver2.需要重写一个MyMulti...
    99+
    2024-04-02
  • 如何解决Spring Cloud 服务冲突问题
    本篇文章为大家展示了如何解决Spring Cloud 服务冲突问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、背景在我们开发微服务架构系统时,虽然说每个微服务都是孤立的可以单独开发,但实际上并...
    99+
    2023-06-04
  • css样式冲突的问题如何解决
    本篇内容介绍了“css样式冲突的问题如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、 细化选择符通过使用组合器(Combinato...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作