При создании веб-службы "Restful" можно использовать стандартный синтаксис http get & http post?
Мы работаем в офисе, используя Oracle APEX для создания некоторых веб-сервисов. После того, как мы бились головой об стену, мы наконец-то поняли, что термины get & post, когда речь идет об услугах RESTful, не совпадают со стандартными HTTP.
Нам нужно будет создать два типа веб-сервисов;
В первом внешнее приложение передает несколько полей, а метод запрашивает запись и отправляет данные обратно во внешнее приложение.
Во втором случае внешнее приложение создает запись из 30 полей, которую метод должен вставить в БД.
В обычном веб-приложении мы в обоих случаях обычно отправляем данные http на страницу cgi (asp, aspx, pl...), которая анализирует поля и делает то, что нужно сделать.
Поскольку мы написали новое приложение в APEX и хотели бы присоединиться к концу 20-го века, мы решили использовать веб-сервис на стороне провайдера. Потребителем будет AS3/flex/flash.
Можем ли мы по-прежнему использовать традиционную методологию http post и / или http get для определения пар имя = данные и отправлять их в веб-службу?
До сих пор мы видели, что передаваемые данные (по крайней мере, в APEX Restful GET) должны быть позиционными, а не парами имя = данные.
Я предполагаю, что первый вопрос заключается в том, где мы можем получить некоторые основные понятия о том, как передавать данные, используя "RESTful" get & post? Было бы хорошо, если бы что-то было направлено на интернет-сервис.
Другой вопрос: если можно использовать методологию HTTP get/post, как это будет сделано в Oracle APEX v5.0?
1 ответ
В вашем посте много вопросов, возможно, если вы сузите их до конкретной проблемы, вы получите лучшие ответы. Я использовал сервисы RESTful с APEX 4.2, 5, 5.1, и они работают просто отлично.
В первом внешнее приложение передает несколько полей, а метод запрашивает запись и отправляет данные обратно во внешнее приложение.
Это типичный запрос GET. Вы передаете параметры (я обычно передаю их как часть URL), используете их в запросе и возвращаете значения. Вы даже можете передать их в PL/SQL-блок, выполнить любую необходимую обработку, а затем вернуть результаты.
Во втором случае внешнее приложение создает запись из 30 полей, которую метод должен вставить в БД.
Это типичный запрос POST (хотя вы все еще можете использовать GET, но не рекомендуется). Формат того, как данные отправляются, важен. Я сделал это, используя формат JSON, и получил как переменную связывания :body
в конце APEX. В APEX вы можете разобрать его и вставить в таблицу.
Несколько ресурсов могут помочь вам начать работу: http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/apex/r50/Restful%20Services/restful_services.html
Это особенно полезно для POST:
https://ruepprich.wordpress.com/2016/03/22/apex-rest-post/