我有路由問題,因?yàn)槲覄?chuàng)建了“BaseController”。我只使用 4 個(gè)方法名稱 GET、POST、PUT、DELETE,從前端進(jìn)行最簡(jiǎn)單的調(diào)用。所以,當(dāng)我有這個(gè)控制器時(shí): [RoutePrefix("api/Router")]public class RouterController : WifiBaseController{ UnitOfWork unitOfWork = new UnitOfWork(); [JwtAuthentication] [HttpGet] [Route("")] public List<RouterDTO> Get() { List<router> routerx = unitOfWork.RouterRepository.Get(r => r.IsDeleted == false).ToList(); List<RouterDTO> routerDTO = Mapper.Map<List<RouterDTO>>(routerx); foreach (var router in routerDTO.Where(x => x.Password != "")) { router.Password = null; } return routerDTO; } [HttpGet] [JwtAuthentication] [Route("{latitude}/{longitude}")] public List<RouterDTO> Get(double latitude, double longitude) { List<RouterDTO> routersDTO = new List<RouterDTO>(); List<router> routers = new List<router>(); var myLocation = GPSCalculation.CreatePoint(latitude, longitude); routers = unitOfWork.RouterRepository.Get(x => x.Location.Location.Distance(myLocation) < 2000 && x.IsDeleted == false).ToList(); Mapper.Map(routers, routersDTO); foreach (var router in routersDTO.Where(x => x.Password != "")) { router.Password = ""; } return routersDTO; }我打了這個(gè)電話:http://localhost:50919/api/Router?latitude=46.767&longitude=23.60將首先調(diào)用它的方法......為什么?如果我評(píng)論第一個(gè)方法,API 將返回:405 Method Not Allowed(請(qǐng)求的資源不支持http方法'GET')
1 回答

慕婉清6462132
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊
根據(jù)您在第二種方法中的路由屬性:
[Route("{latitude}/{longitude}")]
這條路線的正確調(diào)用看起來應(yīng)該是:
http://localhost:50919/api/Router/46.767/23.60
- 1 回答
- 0 關(guān)注
- 148 瀏覽
添加回答
舉報(bào)
0/150
提交
取消