Запись данных в базу данных с использованием полностью веб-службы REST - PullRequest
3 голосов
/ 10 декабря 2008

Как создать веб-сервис REST для записи строки в таблицу базы данных. Используйте следующий сценарий:

Таблица называется Клиент - данные для вставки в строку быть имя, адреса, телефон номер, адрес электронной почты.

Я думаю, что невозможно описать все целиком в Java или C #, и я бы никогда этого не ожидал, но вот вопросы, которые мне приходят в голову, когда я готовлюсь к кодированию:

  • Как будет выглядеть URI (например, если вы используете этот URL - http://www.example.com/)?
  • Какая информация попадет в конверт HTTP?
  • Буду ли я использовать POST при записи в базу данных таким образом?
  • Использую ли я ресурс для хранения опубликованных данных от клиента? Это даже необходимо, если данные в любом случае записываются в базу данных?
  • Когда данные, которые должны быть записаны в базу данных, получены сервером - как мне физически вставить их в базу данных - я вызываю какой-нибудь метод на сервере для фактической записи данных (в Java)? - это, похоже, не соответствует истинно REST-архитектуре - исключительные вызовы RPC.
  • Должен ли я вообще беспокоиться о записи в БД - хранить ли мои данные как ресурс?

Как видите, мне нужно прояснить несколько вопросов. Любая помощь высоко ценится.

Ответы [ 2 ]

5 голосов
/ 10 декабря 2008

Прежде всего, я не являюсь ни Java, ни экспертом по C #, и я точно не знаю, что означают эти языки для поддержки дизайна REST, но в целом:

  1. http://www.example.com/customers - клиенты - это набор ресурсов, и вы хотите добавить новый ресурс в эту коллекцию

  2. Это зависит от разных вещей - вам, вероятно, следует установить заголовок типа контента (в соответствии с форматом данных, в котором вы отправляете представление) и установить некоторые заголовки аутентификации, если вам это нужно.

  3. Да, вы всегда используете POST для создания новой записи в коллекции ресурсов.

  4. Я не совсем понимаю этот вопрос, если честно. Что вы подразумеваете под «немедленной записью данных в базу данных»?

  5. REST - это, прежде всего, просто стиль связи между сервером и клиентом. Это ничего не говорит о том, как вы должны обрабатывать данные, полученные с его помощью. Обычный способ, которым современные веб-подходы (фреймворки в стиле MVC) решают эту проблему, заключается в маршрутизации каждого действия REST методу некоторого класса (обычно экземпляра контроллера), где вы обрабатываете полученные параметры (например, сохраняете их в базе данных) и генерируете ответ будет отправлен обратно.

Для краткого и ясного знакомства с REST посмотрите короткое видео .

3 голосов
/ 10 декабря 2008

Веб-сервисы RESTful , опубликованные O'Reilly and Associates, похоже, соответствуют вашим требованиям.

Что касается Java, у Sun есть страница .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...