2013-06-17 3 views
0

У меня есть приложение, которое я пытаюсь извлечь данные из удаленной базы данных. У меня есть url и столбцы таблицы и имя базы данных, но я не уверен, как вызвать эту базу данных с http get. Ниже мой код:BubbleWrap HTTP получить запрос

def self.data 
    BubbleWrap::HTTP.get("url", {credentials: {username: '***', password: '***'}}) do |response| 
    p response.to_s 

    end 
end 

Я знаю, что этот запрос работает, потому что он показывает мне данные в console.I не могут найти где-нибудь, как запросить информацию из базы данных вложено этот URL. Любая помощь будет принята с благодарностью. Я работаю с Ruby уже год, но новичок в RubyMotion.

+0

Это то, что слушает на другом конце этого URL-адреса, чтобы маршалировать данные и отвечать на ваш запрос. Как привязана база данных к этому URL-адресу? Похоже, вам нужно: поговорить с тем, кто поддерживает этот веб-сервис, или написать этот веб-сервис самостоятельно - реализация Rails сделает это довольно тривиальным, множество примеров из сети. – railsdog

ответ

0

Не забудьте точно понять ваш вопрос, но вы можете взглянуть на этот link и на этот one, объясняя, как извлекать и обрабатывать данные из службы.

Надеюсь, это поможет.

0

Это может быть слишком элементарно, но с запросом HTTP вы не запрашиваете базу данных, вы запрашиваете данные с HTTP-сервера. Задача сервера - проверить ваш запрос, перейти в базу данных, получить данные, упаковать их (часто в формате JSON) и отправить их обратно. Я считаю, что это то, о чем говорил @railsdog в терминах маршалинга.

Теперь несколько других замечаний:

  1. "url" в вашем коде должна быть фактической конечной точкой, как https://my.server.org/api/some_endpoint.json. Полезная информация, содержащая учетные данные, может быть прикреплена в виде строки запроса, однако вы можете рассмотреть POST и SSL, как я уже сказал в следующем пункте.

  2. Вы никогда не должны отправлять учетные данные в ясный текст через HTTP. Если вам нужно отправить конфиденциальную информацию, используйте HTTPS (настройте сервер для ответа на запросы, защищенные SSL).

  3. Возможно, лучше всего пройти аутентификацию по первому запросу и получить токен, который вы можете использовать при последующих запросах, чтобы не подвергать пользователя неправильным именам пользователей и паролям. Возможно, вы можете заполнить несколько пробелов о том, что такое ваш сервер (Rails, некоторый публичный API, другой), и это облегчит вам помощь.

  4. Вам необходимо будет принять данные с сервера в каком-либо узнаваемом формате. JSON очень хорошо поддерживается. BubbleWrap имеет анализатор JSON, чтобы помочь превратить результаты в хэш. Альтернативными форматами являются XML (ick) или XML-RPC (ick, ick) или SOAP (ick, ick, ice).

Если вы опережаете меня на этом, и это слишком основательно, я извиняюсь.

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