API를 사용한 백엔드 개발
4227 단어 devopsopensourcejavascriptapi
wikipedia-query
태그에서 해당 데이터를 사용하여 그러한 콘텐츠에 대한 위키피디아 페이지를 표시하는 방법을 다룰 것입니다.지리 IP
우리는 연결된here GeoIP라는 앱을 사용할 수 있습니다. 이 앱은 좌표와 같은 장치에 대한 지리 정보를 가져와 JSON 응답으로 사용자에게 다시 보낼 수 있습니다. GeoIP의 응답은 IP 주소를 기반으로 하므로 VPN을 사용하는 경우 실제 물리적 위치가 아니라 VPN이 연결된 위치의 지리 정보를 제공합니다. 형식이 지정된 JSON에서 API 응답은 다음과 같습니다.
{
"ip": "104.39.60.125",
"country_code": "US",
"country_name": "United States",
"region_code": "PA",
"region_name": "Pennsylvania",
"city": "State College",
"zip_code": "16801",
"time_zone": "America/New_York",
"latitude": 40.7957,
"longitude": -77.8618,
"metro_code": 574
}
fetch 명령을 사용하여 JSON 응답 받기
먼저
this.locationEndpoint = 'https://freegeoip.app/json/';
라고 말하여 클래스 생성자에서 인스턴스와 같이 GeoIP API를 설정하려고 합니다. 여기에서 fetch 명령을 사용하고 getGEOIPData라는 메서드에서 이것을 호출합니다locationEndpoint
.async getGEOIPData() {
const IPClass = new UserIP();
const userIPData = await IPClass.updateUserIP();
return fetch(this.locationEndpoint + userIPData.ip)
.then(resp => {
if (resp.ok) {
return resp.json();
}
return false;
})
.then(data => {
console.log(data);
this.long = data.longitude;
this.lat = data.latitude;
this.city = data.city;
this.state = data.region_name;
return data;
});
}
간단히 명시된 fetch 명령은 해당 웹 페이지로 이동하여 검색하도록 지시하는 데이터 또는 웹 페이지가 제공해야 하는 데이터를 검색합니다. 이 경우 GeoIP 웹 페이지는 JSON 응답을 반환하므로
data
호출에서 볼 수 있는 .then()
인스턴스에 응답이 할당됩니다.응답을 받은 후 해당 응답 데이터 속성을 클래스의 속성에 할당할 수 있습니다. 이것은 GeoIP API가
this.lat
및 this.long
에 각각 할당한 위도 및 경도 좌표입니다.가져오기 응답을 사용하여 위치 매핑
이 다음 부분에서는 Google Maps iframe API를 사용하여 Google Maps 대화형 이미지를 html 페이지에 포함할 수 있습니다. 우리는 우리 코드의
render()
함수에서 이것을 할 것입니다. 이전의 this.lat
및 this.long
좌표와 함께 사용할 Google 지도의 URL을 정의합니다. 그런 다음 이 URL을 웹페이지에 이 지도를 표시하는 html 태그로 보냅니다.render() {
// this function runs every time a properties() declared variable changes
// this means you can make new variables and then bind them this way if you like
const url = `https://maps.google.com/maps?q=${this.lat},${this.long}&t=&z=15&ie=UTF8&iwloc=&output=embed`;
return html`<iframe title="Where you are" src="${url}"></iframe>
}
Wikipedia 쿼리 태그에 데이터 연결
이제
fetch()
를 사용하여 API에서 데이터를 검색하는 기능을 설정했으므로 이 데이터를 사용하여 페이지에 wikipedia 기사를 포함할 수 있습니다. 이렇게 하려면 다음을 사용하여 wikipedia-query 종속성을 프로젝트로 가져와야 합니다.import '@lrnwebcomponents/wikipedia-query/wikipedia-query.js';
. 여기에서 render()
함수 내부의 html 태그를 사용하여 웹페이지에 wikipedia 기사를 포함할 수 있습니다.<wikipedia-query search="${this.city}, ${this.state}"></wikipedia-query>
<wikipedia-query search="${this.city}"></wikipedia-query>
<wikipedia-query search="${this.state}"></wikipedia-query>`;
위의 태그는 이 wikipedia 쿼리 검색에 대한 세 가지 가능한 항목을 나타냅니다. 셋은 시와 주 조합, 시만 또는 주만입니다. GeoIP API의 fetch 명령의 데이터를 사용하여 현재 있는 도시와 상태를 가져왔습니다. API 응답에서 state는
region_name
로 나열되므로 응답을 번역할 때 주의하십시오. 이제 페이지에 3개의 wikipedia 기사가 성공적으로 포함되었을 것입니다. 다음과 같이 보일 수 있습니다.축하합니다. 두 개의 API를 웹페이지에 성공적으로 통합했습니다! 이 프로젝트에 사용된 소스 코드는 here 에서 찾을 수 있습니다.
Reference
이 문제에 관하여(API를 사용한 백엔드 개발), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/zjohnson10/back-end-development-with-apis-4c5h텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)