MapHttpRoute没有命中控制器

问题描述

我无法触碰此控制器,我有三个要从邮递员发送的参数,但根本不会触及控制器。我的MapHttpRoute是否正确?

在控制器中

[HttpGet]
        public IHttpActionResult TemplatesList(string key,string disease = null,string agent = null)

在webAPIConfig

config.Routes.MapHttpRoute(
                name: "FhirTemplates",routeTemplate: "fhir/Templates/List/{disease}/{agent}",defaults: new { controller = "Fhir",action = "TemplatesList" });

解决方法

您的路线看起来像下面的get方法

 [HttpGet]
 public IHttpActionResult TemplatesList(string disease = null,string agent = null)
 {
 }

但是您的控制器动作有3个参数

[HttpGet]
public IHttpActionResult TemplatesList(string key,string disease = null,string agent = null)

要解决此问题,您需要在key中包含MapHttpRoute参数,或者需要从控制器中删除key