Keith Barrow
Это более широкий вопрос, чем можно дать подробный ответ здесь. Ваш первый шаг - это решить, как вы хотите, чтобы ваш серверный API выглядел-обычно я бы предложил архитектуру REST, но здесь она применима только наполовину. В любом случае вам нужно определить схему URI, с которой будет связываться клиент. Я бы предложил что-то вроде:
http://hostname/calculator/add?param1=10¶m2=5
На HTTP GET - as вы получаете результат в противоположность этому. Я бы настоятельно рекомендовал node package express для этой работы:
Node.js Экспресс-Фреймворк[^]. Чтобы настроить конечную точку, вы должны сделать что-то вроде:
app.get('/calculator/add', function (req, res) {
response = {
result: req.query.param1 + req.query.param2,
};
res.end(JSON.stringify(response));
})
Выше, вероятно, понадобится некоторое футеровки - не знаете ли параметр1 &амп; параметр param2 будет результат в строку конкатенацию например или нет.
Вы можете проверить это, вызвав URL-адрес через расширение chrome "Postman" (
Почтальон - Интернет-Магазин Chrome[
^]). Даже эта схема имеет недостатки - вы привязываете клиента к предоставлению параметров - вы также можете захотеть иметь возможность поддерживать эту схему
http://hostname/calculator/add/10/5
Кроме того, вы должны думать о кодах состояния HTTP и о том, как обрабатывать ошибки и т. д.
Еще одна вещь, "отсутствующая" в этом простом коде, - это то, что мы предполагаем, что клиент хочет получить данные JSON-чтение заголовка запроса "Accept" более приемлемо, кроме того, мы должны установить заголовок ответа "Content-Type", чтобы отразить тот факт, что мы обслуживаем JSON (или что-то еще, если мы выполняем запрос Accept).
Для звонка от клиента вы можете просто использовать форму (возможно, вам придется изменить схему - формы, как правило, работают с POST) или использовать
объект XMLHttpRequest[
^] чтобы сформировать вызов, вызовите сервер и используйте его событие onstatechange для получения ответа. Несмотря на свое название, этот объект используется для отправки/получения ответов JSON. Опять же, детали этого зависят от вашей схемы.
В конечном итоге, главное-это следить за проблемы ПДБС - вы, вероятно, не получите их с почтальоном, а потом вдруг ваш сервер перестает отвечать, когда вы запускаете клиента. Клиент, вероятно, сначала отправит запрос опций, который потерпит неудачу, так как ваш сервер предотвращает запросы CORS - вам нужно закодировать свой сервер, чтобы разрешить запросы из любого источника.
Есть о чем подумать! - Шаг первый-это получение сервера, отвечающего на запросы почтальона, я бы просто начал с того, который отвечает на обычный текст "Привет, мир".