本文主要是介绍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正常显示
这篇关于3、AspnetCore 在接口调用时不成功的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!