Member 12227707 Ответов: 2

Значение контроллер всегда имеет значение null, в то время как посылкой через почтальона:контроллер MVC


0


I have MVC architecture project.now i want to give api to android developer .so how can i test the POST API services through POSTMAN.when i send post service through postman it will return null value..

What I have tried:

<pre>url:-http://localhost/Master/AddEmployee

JSON DATA:- { "EmpFName":"Sa", "EmpMName":"s", "EmpLName":"SS", "AadhaarCardNumber":null, "PanCardNumber":null, "DateOfBirth":"1993-10-20T00:00:00", "Address":"Pune", "City":"Pune", "State":"Maharashtra", "Country":"India", "PinCode":"410505", "EmailID":"sa@GMAIL.COM", "Password":"123456", "PhotoPath":null, "MobileNo":"74487855545", "EmergancyContactNo":"7447774558", "MaritalStatus":"single", "Designation":"devlop", "ReportingMgr":1, "LeaveCount":18, "SpouseName":null, "SpDOB":null, "SpAge":null, "FirstChildName":null, "FCDOB":null, "FCAge":null, "SecondChidName":null, "SCDOB":null, "SCAge":null, "IsActive":true, "CreatedBy":null, "UpdatedOn":null, "Gender":"Female", "SCGender":"Male", "SpGender":"Female", "FCGender":"female"

}

cODE:-

[HttpPost] [Route("addemmployee")] public ActionResult AddEmployee( FormCollection form) { //employeedata empdata;

try
           {
           Employee emp = new Employee();

           emp.JoiningDate = Convert.ToDateTime(form["joining_date"]);
               emp.EmpFName = form["txt_fname"];
               emp.EmpMName = form["txt_mname"];
               emp.EmpLName = form["txt_lname"];
               emp.AadhaarCardNumber = form["aadhaarnum"];

             MasterReposities.SaveEmployee(emp);

Afzaal Ahmad Zeeshan

Вы загружаете данные в формате JSON, и ожидая, чтобы прочитать форму тела? Я не думаю, что это произойдет.

Единственное, что вы можете сделать, это использовать запрос.Свойство Form для считывания значений из HTTP-запроса. Если нет, то попробуйте проанализировать JSON к объекту, а затем прочитать свойство, чтобы увидеть, если это поможет.

2 Ответов

Рейтинг:
2

Bryian Tan

Хорошо. Основываясь на том, что вы здесь разместили. Сообщение с JSON в теле используя PostMan не будет работать. потому что Action это ожидание FormCollection объект. Вот как я отправляю данные формы с помощью почтальона.

1. В почтальона, Нажмите кнопку на корпусе
2. Нажмите на форму-данные
3. Введите значение ключа

Вы также можете нажать на ссылку массовое редактирование, чтобы вставить значение ключа в пакет. Вот скриншот почтальона

postman_form-данные.PNG (17,9 КБ)

postman_form-data_MVC.PNG (8.2 КБ)


Member 12227707

это работает..спасибо вам..но есть некоторые ценности, которые являются
дивизионные детали.BranchId = LoggedInUser.BranchId;
дивизионные детали.InstituteId = LoggedInUser.InstituteId;

после того как пришел отладчик вот он прямо выбрасывает исключение.как передать эти ценности через почтальона..

Bryian Tan

Как LoggedInUser заселяется?

Member 12227707

после входа в систему ..сначала аутентифицируйтесь, а затем .

public ClientPortalIdentity LoggedInUser
{
получить
{
верните пользователя.Идентичность как ClientPortalIdentity;
}
}

Рейтинг:
1

MadMyche

Свойства, перечисленные в вашем JSON, не совпадают с перечисляемыми полями формы.

Вы уже пробовали это сделать?

[HttpPost]
[Route("addemmployee")]
public ActionResult AddEmployee(employeedata empdata) {
  emp.EmpFName = empdata.EmpFName;
  // and so on


Member 12227707

да, я пытаюсь это сделать, но все равно это не работает..n как выровнять JSON с полями формы, которые перечисляются.

MadMyche

Какой метод вы используете, чтобы сделать этот запрос?

Member 12227707

Есть ошибка с моей стороны ... теперь она работает.Спасибо тебе.

MadMyche

Рад слышать что ты все понял