移动服务应用程序 Tablecontroller Post

Mobile Service App Tablecontroller Post

我似乎无法通过 postman 使用 TableController post 数据。 我收到以下错误:

{"message":"An error has occurred.","exceptionMessage":"Multiple actions were found that match the request: \r\nPostPerson on type CEVault.Backend.NetStandard.Controllers.Mobile.PersonController\r\nSetDomainManager on type CEVault.Backend.NetStandard.Controllers.Mobile.PersonController\r\nSetContext on type CEVault.Backend.NetStandard.Controllers.Mobile.PersonController\r\nSetContext on type CEVault.Backend.NetStandard.Controllers.Mobile.PersonController","exceptionType":"System.InvalidOperationException","stackTrace":" at System.Web.Http.Controllers.ApiControllerActionSelector.ActionSelectorCacheItem.SelectAction(HttpControllerContext controllerContext)\r\n at System.Web.Http.Controllers.ApiControllerActionSelector.SelectAction(HttpControllerContext controllerContext)\r\n at System.Web.Http.ApiController.ExecuteAsync(HttpControllerContext controllerContext, CancellationToken cancellationToken)\r\n at System.Web.Http.Dispatcher.HttpControllerDispatcher.d__1.MoveNext()"}

服务器似乎找不到路由。然而,所有其他 actions/verbs 工作正常(补丁、删除、获取)。

IN postman 这是代码:

POST /tables/person HTTP/1.1

主持人:localhost:43689 ZUMO-API-版本:2.0.0 内容类型:application/json 缓存控制:无缓存 邮递员令牌:62bb9475-2b24-024a-b434-c9ddec0bcd9c

{ "deleted":错误, "id": "81FEF95A-2B61-4CE6-B9F7-FEBD572DADD1", "avatar": "", "notes":空, "lastName": "Trumpet", "middleName": "Ignacio", "firstName": "Donald", "userId":“81FEF95A-2B61-4CE6-B9F7-FEBD572DA876” }

感谢任何帮助。

{"message":"An error has occurred.","exceptionMessage":"Multiple actions were found that match the request: \r\nPostPerson on type CEVault.Backend.NetStandard.Controllers.Mobile.PersonController\r\nSetDomainManager on type CEVault.Backend.NetStandard.Controllers.Mobile.PersonController\r\nSetContext on type CEVault.Backend.NetStandard.Controllers.Mobile.PersonController\r\nSetContext on type CEVault.Backend.NetStandard.Controllers.Mobile.PersonController","exceptionType":"System.InvalidOperationException",

根据您的错误消息,我假设您的 PersonController.cs[ 中有一些操作(PostPersonSetDomainManagerSetContext) =28=] 这两个都可以匹配您发布的请求。

据我了解,如果您有一些用于处理业务逻辑的内部方法,您可以将它们标记为受保护或私有,而不是 public。或者您可以利用 RouteAttribute(例如 [Route("tables/TodoItem")])来标记基于属性的路由的操作。使用RouteAttribute时,需要在Startup.MobileApp.csConfigureMobileApp方法中添加如下代码启用:

config.MapHttpAttributeRoutes();

更多详情,您可以关注 Adrian Hall 的 blog