Не найден ресурс при вызове WEB API - PullRequest
0 голосов
/ 28 января 2019

Я создал WEB API для получения списка.Я создал еще один API для входа, который работает нормально.Но всякий раз, когда вызывается API, предоставляющий мне какой-то список, он будет отображать ошибку как Не было найдено ни одного ресурса HTTP, соответствующего URI запроса 'http://localhost:85476/API/EmployeeMobile/GetEmployeeForMobile, На контроллере EmployeeMobile не было обнаружено никаких действий, которыесоответствует запросу.

Мой контроллер :

 public class EmployeeMobileController : ApiController
    {

        private PCommon _pCommon;
        IEmployeeBusiness _employeeBusiness;
        Mapper _mapper;
        public EmployeeMobileController()
        {
            _pCommon = new PCommon();
            _employeeBusiness = new EmployeeBusiness();

            _mapper = new Mapper();
        }

        [HttpPost]

        public string GetEmployeeForMobile(string userID, string connectionString)
        {
            DataSet dsEmployee = _employeeBusiness.GetAllEmployeeForMobile(Guid.Parse(userID), connectionString);
            JavaScriptSerializer json_serializer = new JavaScriptSerializer();
            object routes_list = (object)json_serializer.DeserializeObject(JsonConvert.SerializeObject(dsEmployee.Tables[0]));
            return JsonConvert.SerializeObject(routes_list);
        }
    }

Мой WebApiConfig.cs

public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            config.MapHttpAttributeRoutes();
            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );


        }
    }

My PostMan Информация о вызовах

http://localhost:61557/API/EmployeeMobile/GetEmployeeForMobile

Body: {"userID":"fc938df0-373c559f","connectionString":"Data\tSource=WIN\\MSSQLSERVER2016;Initial\tCatalog=PDefault;User\tID=db;Password=db123"}

Пожалуйста, помогите мне решить эту проблему.

1 Ответ

0 голосов
/ 28 января 2019

Обратите внимание: WebAPI не поддерживает привязку нескольких параметров POST.Вы определяете свой POST как GET метод.Измените его, чтобы он возвращал одну модель

Ваша модель должна выглядеть следующим образом.

 public class Input
    {
        public string uSerID { get; set; }
        public string connectionString { get; set; }
    }

Теперь измените метод POST на

 [HttpPost]
 public string GetEmployeeForMobile(Input request)
  {
   //Your implementation here
  }

, и вы JSON длясообщение должно выглядеть следующим образом.

{uSerID:"abc", connectionString :"xyz"}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...