Как передать сложный объект в Post-запросе С#?

171
01 октября 2018, 21:50

Изучаю 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; }
}
READ ALSO
Как верно передать “класс” в метод?

Как верно передать “класс” в метод?

Подскажите, пожалуйста, у меня есть два класса; (Star,Circle) Есть ли возможность передать данный класс в метод с вызовом его конструктора

187
C#, WinForms Settings

C#, WinForms Settings

У меня возник вопрос, как же можно сделать пользовательскую настройку для приложенияУ меня существует несколько форм

188
База данных на simpleXML в PHP

База данных на simpleXML в PHP

Пишу код для создания базы данных в xml файле

200
Построение селекта ACF

Построение селекта ACF

ЗдравтсвуйтеЗадача: Построить мультиселект с опцией добавления к нему значений юзером

175