【发布时间】:2019-11-16 07:53:42
【问题描述】:
在我的 WebAPI 项目中添加了第二个控制器,它也没有完全工作,但第一个控制器按预期工作
默认 URI 适用于第一个控制器返回所有记录: http://localhost:59654/api/TidalBatch
第二个控制器不工作并返回有问题的错误: http://localhost:59654/api/TidalBatchConsolidated
但是,如果我为它传入 {id},它在我使用 id 时确实有效(示例所示): http://localhost:59654/api/TidalBatchConsolidated/BAM
尝试修改路由地址
WebAPI 配置: config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "TidalBatchApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "TidalBatchConsolidatedApi",
routeTemplate: "api/TidalBatchConsolidated/{id}",
defaults: new { id = RouteParameter.Optional }
);
我有 2 个控制器,TidalBatchController.cs 和 TidalBatchConsolidatedController.cs。两者都继承自 ApiController 类。
这是我的第二个控制器未按预期工作的示例:
public class TidalBatchConsolidatedController : ApiController
{
public TidalBatchConsolidated GetAll(string id)
{
using (BDW_ProcessingEntities_TidalBatch entities = new BDW_ProcessingEntities_TidalBatch())
{
return entities.TidalBatchConsolidateds.FirstOrDefault(e => e.CompanyAbbr == id);
}
}
}
当我导航到地址中的基本控制器时,它应该根据传入的实体数据模型以 JSON 格式返回列表结果。
【问题讨论】:
-
这是我的第二个控制器的示例,它没有按预期工作: public class TidalBatchConsolidatedController : ApiController { public TidalBatchConsolidated GetAll(string id) { using (BDW_ProcessingEntities_TidalBatch entity = new BDW_ProcessingEntities_TidalBatch()) { return entity。 TidalBatchConsolidateds.FirstOrDefault(e => e.CompanyAbbr == id); } } }
-
请将您的控制代码粘贴到您的问题中
-
尝试在这样的网址后添加
/http://localhost:59654/api/TidalBatchConsolidated/
标签: c# asp.net-mvc asp.net-web-api asp.net-web-api-routing