Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / web api. Сложный объект в Post запросе. / 9 сообщений из 9, страница 1 из 1
06.03.2013, 17:52
    #38176451
Апельсин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
web api. Сложный объект в Post запросе.
привет.
web api на mvc4
клиент посылает
Код: html
1.
2.
3.
4.
POST http://localhost:4007/persons.xml HTTP/1.1
Content-Type: application/x-www-form-urlencoded

basic[last_name]=Smith&basic[first_name]=John

надо это полжить в структуру
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
public class Person
    {
        public class Basic
        {
            string first_name;
            string last_name;
            string middle_name;
        }

        public Person()
        {
            basic = new Basic();
        }

        public Basic basic;
    }

как-то не вижу способа сделать это "автоматом". можно выцепить пары basic[last_name] и Smith, потом выделить из basic[last_name] объект basic и поле last_name и, профит, засунуть Smith в last_name. Можно ли "автоматнее"?
...
Рейтинг: 0 / 0
06.03.2013, 22:42
    #38176725
Местный король Делфей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
web api. Сложный объект в Post запросе.
Апельсинпривет.
web api на mvc4
клиент посылает
Код: html
1.
2.
3.
4.
POST http://localhost:4007/persons.xml HTTP/1.1
Content-Type: application/x-www-form-urlencoded

basic[last_name]=Smith&basic[first_name]=John

надо это полжить в структуру
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
public class Person
    {
        public class Basic
        {
            string first_name;
            string last_name;
            string middle_name;
        }

        public Person()
        {
            basic = new Basic();
        }

        public Basic basic;
    }

как-то не вижу способа сделать это "автоматом". можно выцепить пары basic[last_name] и Smith, потом выделить из basic[last_name] объект basic и поле last_name и, профит, засунуть Smith в last_name. Можно ли "автоматнее"?
а что мешает в jsonе объект передавать?)
...
Рейтинг: 0 / 0
06.03.2013, 22:44
    #38176726
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
web api. Сложный объект в Post запросе.
Апельсин, забудь про поля, используй свойства.
...
Рейтинг: 0 / 0
06.03.2013, 23:13
    #38176744
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
web api. Сложный объект в Post запросе.
Пост-запрос, как, впрочем и гет, умеет передавать только текст. Причём, и тот и другой в одинаковом формате. Как Вы уж там распарсите - дело хозяйское.
...
Рейтинг: 0 / 0
06.03.2013, 23:48
    #38176764
Апельсин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
web api. Сложный объект в Post запросе.
Местный король Делфейа что мешает в jsonе объект передавать?)клиент не мой. мне выдали "спецификации". надо работать по ним.МСУАпельсин, забудь про поля, используй свойства.Я в .нете нуб. чем это поможет в контексте вопроса?ShSergeПост-запрос, как, впрочем и гет, умеет передавать только текст. Причём, и тот и другой в одинаковом формате. Как Вы уж там распарсите - дело хозяйское.если формат запроса подходит под некие требования .нета, то всё парсится автоматом. чтоб разобрать что-то другое нужно парсить самому, это понятно. можно написать свой парсер, но, наверное, есть стандартный "механизм" который можно заюзать, вот, например, я смотрел mediatypeformatter, вроде подходит, но не въезжаю до конца, ссылку бы на статью или подобное что.
...
Рейтинг: 0 / 0
06.03.2013, 23:57
    #38176768
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
web api. Сложный объект в Post запросе.
Апельсин...если формат запроса подходит под некие требования .нета, то всё парсится автоматом...
Любой хттп-запрос подходит под любой "формат", работающий с хттп. Что такое "требования .нета" объясните мне дураку.
...
Рейтинг: 0 / 0
07.03.2013, 00:25
    #38176777
Апельсин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
web api. Сложный объект в Post запросе.
ShSergeЛюбой хттп-запрос подходит под любой "формат", работающий с хттп. Что такое "требования .нета" объясните мне дураку.как-то так: http://www.agile-code.com/blog/building-an-asp-net-web-api-restful-service/] http://www.agile-code.com/blog/building-an-asp-net-web-api-restful-service/
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
// POST api/product 
public HttpResponseMessage Post(Product product)
{
    if (ModelState.IsValid)
    {
        // this will set the ID for instance...
        product = repository.AddProduct(product);     
 
        var response = Request.CreateResponse(
                             HttpStatusCode.Created, product);
 
        string uri = Url.Link("DefaultApi", new {id = product.Id});
        response.Headers.Location = new Uri(uri);
        return response;
    }
    else
    {
        return Request.CreateResponse(HttpStatusCode.BadRequest);
    }
}   


...
Рейтинг: 0 / 0
07.03.2013, 08:04
    #38176865
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
web api. Сложный объект в Post запросе.
...
Рейтинг: 0 / 0
07.03.2013, 09:30
    #38176906
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
web api. Сложный объект в Post запросе.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / web api. Сложный объект в Post запросе. / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]