2016-04-17 3 views
0

Привет всем Я новичок в asp.net web API. Я хочу сохранить данные пользователя в базе данных, и я передаю данные, используя почтальон.Опубликовать данные с помощью asp.net Web API

В моем контроллере API я написал

public HttpResponseMessage PostCustomer([FromBody] NewUser userData) 
{ 
    userData = repository.Add(userData); 
    var response = Request.CreateResponse<NewUser>(HttpStatusCode.Created, userData); 
    string uri = Url.Link("DefaultApi", new { customerID = userData.ID }); 
    response.Headers.Location = new Uri(uri); 
    return response; 
} 

NEWUSER класс, как followes

public class NewUser 
    { 
     [Key] 
     public long ID { get; set; } 
     public string UserName { get; set; } 
     public string Password { get; set; } 
     public bool Status { get; set; } 
     public DateTime? CreatedDate { get; set; } 
     public DateTime? ModifiedDate { get; set; } 
    } 

В почтальоне формирует-данные, которые я прошла ключ и значения его возвращать это мне сообщение следующего

{"Сообщение": "Тип носителя данных типа" multipart/form-data "не поддерживается для этого ресурса.", "ExceptionMessage": "N o MediaTypeFormatter доступен для чтения объекта типа «NewUser» из контента с типом мультимедиа «multipart/form-data». »,« ExceptionType »:« System.Net.Http.UnsupportedMediaTypeException »,« StackTrace »:« at System. Net.Http.HttpContentExtensions.ReadAsAsync [T] (содержимое HttpContent, тип типа, IEnumerable 1 formatters, IFormatterLogger formatterLogger, CancellationToken cancellationToken)\r\n at System.Net.Http.HttpContentExtensions.ReadAsAsync(HttpContent content, Type type, IEnumerable 1 formatters, IFormatterLogger formatterLogger, CancellationToken cancelationToken) \ r \ n в System.Web.Http.ModelBinding.FormatterParameterBinding.ReadContentAsync (запрос HttpRequestMessage, тип типа , IEnumerable`1 форматтеры, IFormatterLogger formatterLogger, CancellationToken CancellationToken) "}

Пожалуйста, помогите мне сохранить данные почтальона форм-данных.

+0

Что тип содержимого вашего использования во время проверки от POSTMAN? –

+0

Я использую application/json; charset = utf-8 –

ответ

3

Постарайтесь следить за снимками экрана из POSTMAN, это может вам помочь.

Кузов должен быть установлен в JSON.

enter image description here

+0

Обязательно ли предоставить все параметры? –

+0

С точки зрения веб-API это необязательно. Но если ваша логика на стороне сервера требует некоторых из них, вы должны удостовериться, что украсили их соответствующими атрибутами проверки, чтобы убедиться, что они присутствуют. –

+0

POSTMAN действует для взаимодействия с Web API. Тип содержимого заголовка, тело, которое отправляет запрос JSON. Этот JSON будет сериализован для объекта, который будет использоваться дальше. –

0

если тип содержимого установлен в приложении/JSON, то ваше тело должно быть структурировано в формате JSON

Смежные вопросы