Задание 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. Вы также можете оставить свой вопрос в виде комментария .