2012-03-30 3 views
0

Я пытаюсь написать REST API. Я, честно говоря, ничего не знаю о структуре REST, поэтому я провел некоторое исследование и нашел ценную информацию о том, что одна из ключевых вещей, отделяющих REST от других структур, заключается в том, что она использует «GET», «POST», «PUT», , 'DELETE' запросов HTTP.HTTP-запрос при использовании REST

Это может показаться глупым, но как я могу управлять типом запроса. Например, если я его код и просто введите URL-адрес www.example.com/users/1234, как моя серверная сторона проанализирует, будут ли выполняться запросы GET, POST, PUT или DELETE.

Извините, если я спрашиваю очевидный вопрос, но я хотел бы иметь некоторую информацию, относящуюся к этой теме

+0

Тип запроса содержится в запросе. Но как вы его читаете, зависит от того, как вы реализуете сервер. т. е. какой язык/структуру вы используете. Итак, кто это? – ArjunShankar

+0

@ArjunShankar Во-первых, спасибо за ваше внимание. Я планирую построить его на базовом стеке LAMP. – Ali

ответ

1

Хорошее место для начала, глядя на SO wiki associated with the rest tag. Это часть SO, которая так часто игнорируется как отличный источник информации. Просто наведите указатель мыши на тег и выберите ссылку "info".

+0

Спасибо! Я проверю это – Ali

0

Поскольку вы упомянули LAMP, я выкладываю здесь, минимальный PHP скрипт, который знает о методе называют:

<?php 
    if($_SERVER['REQUEST_METHOD'] == "POST") { 
    echo "Got a POST Request"; 
    } else { 
    echo "Got a non-POST Request"; 
    } 
?> 

Посмотрите на этот документ, который описывает множество «стандартных» PHP переменных, содержащих информацию о и содержание из запроса, и так далее:

http://www.php.net/manual/en/reserved.variables.server.php

Если установить и запустить Apache с модулем PHP включен, и служить PHP-файл, как выше, запрашивая файл от клиента будет возвращать тыс Соответствующая строка.

+0

Большое спасибо за ответ, но вот что мне интересно. Когда я кодирую REST API, как клиент может сделать запрос POST или PUT. Я имею в виду, что он входит в ссылку ** example.com/users/123 **, это означает, что он хочет получить информацию, связанную с идентификатором пользователя 123. Но, как и в этой форме URL-адреса, как клиент может сделать запрос PUT, чтобы я мог его обработать , Без подхода RESTful я бы сказал example.com/users.php?id=123&methodType=PUT, но я знаю, что REST не разрешает. Извините, если я написал это слишком сложно – Ali

+0

Это зависит от клиента. Я бы не ожидал, что доступ к службе RESTful будет доступен с помощью обычного браузера, где пользователь вводит URL-адрес. Это слишком громоздко. Вы пишете клиента, используя, может быть, HTTP-библиотеку. Это опять же зависит от языка/платформы/структуры, которую вы хотите использовать для клиента. – ArjunShankar

Смежные вопросы