3、AspnetCore 在接口调用时不成功

前言:AspnetCore工程在开发webapi接口时,在同一个控制器下写了多个接口函数,这时候如果路由属性是默认的话,在调用的时候会出现问题,下面就问题给出解决方案。

一、问题复现

采用默认方式新建webapi工程,生成的测试控制器如下:

会有一个Get接口函数,调用后返回一串天气相关信息。

如果在这个控制器中再新建一个HttpGet接口函数,如下图所示:

使用postman调用就会出现下图所示问题: 

控制台错误:

swagger错误:

从postman第一行反馈的信息中可以看到3个关键词,Routing、Matching、AmbiguousMatchException

Microsoft.AspNetCore.Routing.Matching.AmbiguousMatchException: The request matched multiple endpoints. Matches: 

 说的已经很明了了,就是自定义的那个接口方法出了问题,使程序不知道你在调用的是哪个HttpGet接口。

二、解决方案

设置控制器的路由属性,如下图所示,这样,在调用的时候指明调用的是哪个控制器的哪个接口方法。

 swagger正常显示

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值