ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Ambiguous handler methods mapped for'xxx'报错的解决办法

2022-08-15 21:33:17  阅读:165  来源: 互联网

标签:Ambiguous methods service ApiOperation 报错 import com id addr


这个报错的原因是我们的Controller中,有两个模棱两可的处理方法,这两个方法有歧义,无法分清谁是谁.因为Spring无法根据传参的类型自动匹配到可以处理的方法。比如下面这里,

@GetMapping("/{id}")和
@GetMapping("/{addr}")是冲突的,必须修改一下其中的一个url区分开来
package com.xzit.controller;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.xzit.entity.Emp;
import com.xzit.service.EmpService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;

@RestController
@RequestMapping("emp")
@Api(tags = {"员工管理控制器"})
public class EmpController {
    @Resource
    private EmpService service;

    @ApiOperation("按给定的id显示员工信息")
    @GetMapping("/{id}")
    public Object selectId(@PathVariable Integer id){
        Emp emp=service.selectId(id);
        return emp;
    }

    @ApiOperation("按给定地址查询员工信息")
    @GetMapping("/{addr}")
    public Object selectAddr(@PathVariable String addr){
        List<Emp> empList=service.selectAddr(addr);
        return empList;
    }
}

执行的报错信息,它分不清这两个方法。 

 

正确的修改方式,我在selecAddr()方法随便加一个/userAddr的Url前缀:

package com.xzit.controller;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.xzit.entity.Emp;
import com.xzit.service.EmpService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;

@RestController
@RequestMapping("emp")
@Api(tags = {"员工管理控制器"})
public class EmpController {
    @Resource
    private EmpService service;


    @ApiOperation("按给定的id显示员工信息")
    @GetMapping("/{id}")
    public Object selectId(@PathVariable Integer id){
        Emp emp=service.selectId(id);
        return emp;
    }

    @ApiOperation("按给定地址查询员工信息")
    @GetMapping("/userAddr/{addr}")
    public Object selectAddr(@PathVariable String addr){
        List<Emp> empList=service.selectAddr(addr);
        return empList;
    }
}

 重启服务,报错解决,可以正确查询出数据了:

 

 

参考文章:

https://blog.csdn.net/syc000666/article/details/94978731

标签:Ambiguous,methods,service,ApiOperation,报错,import,com,id,addr
来源: https://www.cnblogs.com/zengyu1234/p/16589667.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有