Задание 6: тестирование REST-сервиса с помощью REST-клиента
В этом задании вы выполните тестирование опубликованного REST-сервиса с помощью любого свободно доступного REST-клиента. Далее я буду использовать “Boomerang – SOAP & REST Client”.
Открываем REST-клиента:

Запрос полного списка клиентов
Укажем заголовок Headers: application: application/json
Выбираем метод GET и в поле Request URL вводим следующий URI:
http://localhost:8810/rest/CustomerOrderAppService/Customers

Отправляем запрос по кнопке SEND.
Вы должны получить список все клиентов в формате JSON.

Запрос информации о конкретном клиенте
В REST-клиенте в поле Request URL вводим следующий URI:
http://localhost:8810/rest/CustomerOrderAppService/Customers/10
Вы должны получить информацию о клиенте с номером 10 в формате JSON

Создание клиентской записи с помощью REST-сервиса
Для создания клиентской записи применяется REST-ресурс /Customer с методом POST.
Введите в поле Request URL:
http://localhost:8810/rest/CustomerOrderAppService/Customers
Выберите метод POST и введите в качестве значения тела сообщения в параметрах запроса следующий JSON-код:
{"request":{
"custRecord":{
"custRecord":[
{
"Country":"USA",
"Name":"Boucher Fitness",
"Address":"276 North Drive",
"Address2":"",
"City":"Burlington",
"State":"MA",
"PostalCode":"01730",
"Contact":"Gloria Boucher",
"Phone":"(617) 450-0083",
"SalesRep":"DKP",
"CreditLimit":66700.0,
"Balance":903.64,
"Terms":"Net30",
"Discount":35,
"Comments":"",
"Fax":"",
"EmailAddress":"jb@xyz.com"
}
]}}}

Нажмите кнопку SEND. Появится сообщение с информацией о клиенте в формате JSON, указывающее, что запись клиента создана с предоставленной информацией.

Примечание: обратите внимание, в ответе значение CustNum было добавлено к предоставленной Вами информации о клиенте. Это значение генерируется базой данных. Вы должны запомнить значение CustNum, отображаемое в ответе. В дальнейших примерах мы будем ссылаться на это значение как переменная $CustNum, которую надо заменить перед выполнением запроса
Запрос информации о новом клиенте
Для проверки правильности создания клиентской записи в базе данных применяется метод Read1. После создания новой клиентской записи просмотрите информацию о новом клиенте используя метод GET и следующий URI с добавлением номера только что созданного клиента. В моё случае это 3025.
http://localhost:8810/rest/CustomerOrderAppService/Customers/3025
Выберите метод GET и нажмите кнопок SEND. Вы должны увидеть информацию о новом клиенте.

Вы должны получить информацию о клиенте с номером 3025

Обновление клиентской записи с помощью REST-сервиса
Обновите недавно созданную клиентскую запись с помощью следующего URI и метода PUT:
http://localhost:8810/rest/CustomerOrderAppService/Customers/3025
Примечание: в реальном интерактивном REST-интерфейсе для обновления записи вы должны были бы сначала получить запись клиента, внести изменения в поля этой записи через пользовательский интерфейс, и затем отправить полную запись обратно в базу данных для обновления. В нашем простом интерфейсе мы пропустим все эти шаги, сразу укажем значения всех полей и изменим значения: CreditLimit, Balance и Discount.
Введите следующую информацию в тело сообщения:
{"request":{
"custRecord":{
"custRecord":[{
"CustNum": 3025,
"Country":"USA",
"Name":"Boucher Fitness",
"Address":"276 North Drive",
"Address2":"",
"City":"Burlington",
"State":"MA",
"PostalCode":"01730",
"Contact":"Gloria Boucher",
"Phone":"(617) 450-0083",
"SalesRep":"DKP",
"CreditLimit":20900.0,
"Balance":186.64,
"Terms":"Net30",
"Discount":20,
"Comments":"",
"Fax":"",
"EmailAddress":"jb@xyz.com"
}]}}}
Выберите метод PUT и укажите URI.

Нажмите кнопку SEND.

Удаление клиентской записи
Удалите клиентскую запись, которую только что создали и обновили с помощью метода DELETE и URI:
http://localhost:8810/rest/CustomerOrderAppService/Customers/3025
Выберите метод DELETE.
Введите URI.

Нажмите кнопку SEND

После удаления клиентской записи проверьте, что запись действительно была удалена. Используйте метод GET и URI:
http://localhost:8810/rest/CustomerOrderAppService/Customers/3025

Просмотр всех заказов клиента с номером 9
Для извлечения всех заказов клиента с ID 22 используется REST-ресурс /Customer/{custId}/Orders.
Введите следующий URI:
http://localhost:8810/rest/CustomerOrderAppService/Customers/9/Orders
Выберите метод GET.

Нажмите кнопку SEND. Этот URI вызовет метод ReadAll из класса CustomerOrders.cls и извлечёт все заказы, принадлежащие пользователю с номером 9 в базе данных testdb.

Просмотр содержимого заказа №75 для клиента №9
Для извлечения информации о заказе используется REST-ресурс /Customer/{custId}/Orders/{orderNum}.
В поле Request URL введите:
http://localhost:8810/rest/CustomerOrderAppService/Customers/9/Orders/75
Выберите метод GET.

Нажмите кнопку SEND

Этот URI вызовет метод Read1 из класса CustomerOrders.cls и извлечёт заказ с номером 75 клиента с номером 9 из базы данных testdb
Таким образом, мы с вами проверили, что созданный нами сервис и его ресурсы работают без ошибок.
Примечание:
Если по каким-то причинам сервисы у вас не работают, то в первую очередь проверьте логи сервера приложений, в частности лог oepas1.agent.log, как правило сообщения об ошибках появляются в этом логе. Если информация из лога не помогла, то тщательно проверьте настройку ресурсов по каждому пункту в Developer Studio. Вы также можете оставить свой вопрос в виде комментария .
