2016-05-18 2 views
3

У меня есть некоторые веб-службы, написанные в узле js и express. Я хочу использовать сервис api key. Предположим, у меня есть веб-сервис «getRooms».Узел JS веб-службы на основе ключа api

app.get('/getRooms/', function (req, res) { 
    'use strict'; 
    N.API.getRooms(function (rooms) { 
     res.send(rooms); 
    },function (err) { 
     res.send(err); 
    }); 
}); 

Я использую его, позвонив по телефону https://xxxxxx/getRooms. Теперь я хочу использовать https://xxxxxx/APIKEY/getRooms. Этот APIKEY отличается для разных клиентов. Итак, как мне изменить мои веб-сервисы для достижения этого? Пожалуйста помоги. Я новичок в Node JS

ответ

4

Вы можете изменить его как /APIKEY/getrooms для достижения желаемого результата. Однако было бы лучше, если вы отправите APIKEY в заголовок запроса, но, очевидно, это зависит от вашего дела.

+0

Пожалуйста, вы можете объяснить, что маршрут в/ххххх. так что я могу отправить – Bobby

+0

Я отредактировал проверку ответа. вам просто нужно поставить APIKEY перед/getrooms/ –

+0

api-ключи будут разными, то есть _id от mongodb. то как я могу определить APIKEY статически – Bobby

0

вы можете изменить свой код, как этот

app.get('/getRooms?api_key=xxxx', function (req, res) { 
    console.log(req.query.api_key) // print xxxx when user request to https://xxxxxx/getRooms/APIKEY 
}); 
+0

Я думал об этой процедуре, но если у меня уже есть параметр для этой веб-службы? например, app.get ('/ getRoom /: room', function (req, res) {}) – Bobby

+0

, поэтому вам нужно настроить запрос на отправку пользователю с api_key в заголовках. Затем на стороне сервера вы можете получить ключ api пользователя с req.headers ['api_key'] – KibGzr

+0

Ввод заголовка - хороший подход, когда он будет вызван из кода. Для служб GET, если мы ударим по URL-адресу, заголовок не будет работать. – Bobby

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

  • Нет связанных вопросов^_^