2016-09-06 2 views
0

이것은 바보 같은 질문이지만 더 많이 생각하면할수록 Rails 애플리케이션에서 API 호출을 어떻게해야합니까?API를 Rails에서 호출

API 호출 문자열을 만들고, 반환 된 데이터를 캡처하여 해당 데이터 조각을 데이터베이스에 저장 한 다음 해당 데이터베이스 정보를 사용하여 다른 API 호출을 만들어야합니다. 이는 두 번 반복하여 최종 API 요청에 필요한 데이터를 작성합니다 (이는 POST 요청이 되겠지만 "성공"또는 "실패"메시지를 데이터베이스에 저장해야 할 수도 있음).

일반적으로 필자는 필자의 레일이 아닌 프로젝트에서 API를 사용하여 필요한 정보를 얻습니다. 그러나 이러한 정보는 표시 전용으로 더 많은 상황이므로 API가 반환 한 정보를 저장하지 않아도됩니다. 내 혼란의 약 90 %는 레일즈 모델에서 AJAX 호출을 만드는 법을 알아 내려고하고 있다는 사실에서 비롯된 것이라고 생각합니다. 실제로 (필자의 지식이 끝나고 어디에서나) HTTP 내 모델에서 요청하십시오.

Ruby 및/또는 Rails에서 HTTP 요청을 할 수있는 것에 대해 근본적으로 뭔가 빠져있을 수 있으므로 필요한 API 호출을 시작하는 방법에 대한 의견이나 조언을 매우 소중하게 생각합니다.

답변

1

라이브러리의 많음이 할/보석이 있습니다 이들 중

을, 나는 나머지 클라이언트있는 가장 쉬운 방법입니다 말할 것 .

또한 일반적으로 모델 또는 컨트롤러 대신이 작업을 수행하여 사용하기 쉽도록 자체 위치에 코드를 포함하는 서비스 클래스를 만듭니다.

+0

요약하면 다음과 같습니다. 직접 HTTP 요청을 시도하지 마십시오. (나는 파티 때문에 httpsy의 모습을 좋아하고 파티는하지 않기 때문에) 보석을 사용하고 별도의 클래스를 사용하여 전화를 걸었다가 만든 데이터를 사용하여 관련 컨트롤러 나 모델을 사용하여 새로운 객체를 만들지 마십시오 우연히 있다. 그게 대체 뭐야? – DanielNordby

+0

안녕하세요 @ 대니얼 노드 비입니다. 맞습니다. YahooApi.new (stuff); 주식 = Yahoo.getStock; Stock.create! (주식) – OneSneakyMofo

+1

대단히 감사합니다! 우리가 이야기 한 이래로 적어도 첫 번째 API 호출이 작동하고 데이터베이스에 저장되는 중입니다. 이제 다음 API로 넘어갑니다. 귀중한 의견을 보내 주셔서 감사합니다! – DanielNordby

관련 문제