Ошибка 404 при вызове этого метода API Вот код сервера
public class employeesController : ApiController
{
public HttpResponseMessage CreateEmployee(string strName, string DOB, string Salary, string Photo, string bIsActive, string strExectutedBy)
{
HRServices.EntityFramework.WebAPIEntitiesDb db = new EntityFramework.WebAPIEntitiesDb();
try
{
byte[] arrFileData = Convert.FromBase64String(Photo);
int nValue = db.CREATE_EMPLOYEE(strName, Convert.ToDateTime(DOB), Convert.ToDecimal(Salary), arrFileData, Convert.ToBoolean(bIsActive), strExectutedBy);
db.Dispose();
return Request.CreateResponse(HttpStatusCode.OK, "SUCCESS");
}
catch (Exception ex)
{
return Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message);
}
}
}
Вот код клиента:
try
{
string strURL = "http://localhost/HRServices/api/employees/CreateEmployee";
byte[] arrFileData = File.ReadAllBytes("d:\\123.jpg");
string FileData = Convert.ToBase64String(arrFileData);
string strParams = "strName=Imad&DOB=2019-5-25&Salary=15000&Photo=" + FileData + "&bIsActive=true&strExecutedBy=admin";
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(strURL);
request.ContentType = "application/json";
request.Method = "POST";
byte[] arrData = Encoding.UTF8.GetBytes(strParams);
request.ContentLength = arrData.Length;
Stream sw = request.GetRequestStream();
sw.Write(arrData,0,arrData.Length);
sw.Flush();
sw.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string strResult = new StreamReader(response.GetResponseStream()).ReadToEnd();
response.Close();
response.Dispose();
response = null;
}
catch(WebException ex)
{
MessageBox.Show(ex.Message);
}
При проверке деталей запроса через Каталон или любой другой RESTСредство тестирования, я обнаружил следующие данные {"$ type": "System.Web.Http.HttpError, System.Web.Http", "message": "Не найден ресурс HTTP, соответствующий URI запроса" http://localhost/HRServices/api/employees/CreateEmployee'.", "messageDetail": "Не найдено действий для" сотрудников "контроллера, соответствующих имени" CreateEmployee "."}