Изучаю Asp.Net web api. Делаю контроллер:
// POST: api/Users
[ResponseType(typeof(User))]
public IHttpActionResult PostUser(User user)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.Users.Add(user);
db.SaveChanges();
return CreatedAtRoute("DefaultApi", new { id = user.Id }, user);
}
(Вернее, по факту этот контроллер сделала визуальная студия)
Почитал про привязку модели, но почти ничего не понял.
Вот так я пытаюсь отправлять POST-запрос:
public void PostUser(User user)
{
WebRequest request = WebRequest.Create($"http://localhost:{port}/api/Users");
request.Method = "POST";
using (System.IO.Stream stream = request.GetRequestStream())
{
var jsonUserSerializer = new DataContractJsonSerializer(typeof(User));
jsonUserSerializer.WriteObject(stream, user);
}
WebResponse response = request.GetResponse();
}
Однако во всех случаях получаю
System.Net.WebException: "Удаленный сервер возвратил ошибку: (415) Unsupported Media Type."
Установка заголовка ContentType в "application/json" тоже не помогла.
Возможно важный момент: у меня используются разные классы User.
// User из сборки с Web api
public class User
{
public int Id { get; set; }
public string Name { get; set; }
}
// User из сборки с клиентом, отправляющим запрос
[DataContract]
[Serializable]
public class User
{
[DataMember]
public int Id { get; set; }
[DataMember]
public string Name { get; set; }
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Подскажите, пожалуйста, у меня есть два класса; (Star,Circle) Есть ли возможность передать данный класс в метод с вызовом его конструктора
У меня возник вопрос, как же можно сделать пользовательскую настройку для приложенияУ меня существует несколько форм
ЗдравтсвуйтеЗадача: Построить мультиселект с опцией добавления к нему значений юзером