2017-05-19 2 views
1

React-native 앱을 사용하여 액세스하려는 Django-REST API가 있습니다. 나는 명령 줄React-native url에 요청 항목을 전달하면서 GET 가져 오기

http GET http://mywebsite.com/api param1=value1 param2=value2 

하지만이 networking tutorial에서 fetch() 기능을 사용하는 것과 같은 결과를 달성하고 싶습니다. GET 방법을 사용하는 중에 fetch에 요청 항목을 어떻게 지정합니까?

편집 : 내 목표는 액세스 할 페이지에 대한 이러한 요청 항목을 필요로 token authentication to a django rest API 수행 할 수 있습니다.

답변

1

fetch() 비슷한을 사용하는 것입니다. 당신이 fetch()

fetch("http://whatever.xyz?param1=1&param2=2") 
+0

이 방법을 사용하면 API에 매개 변수를 보낼 수는 있지만 요청 항목과 정확하게 일치하지는 않습니다. 예를 들어, 토큰 인증을 수행하려면 다음과 같이 요청과 함께 토큰을 보내지 않으면이 매개 변수를 읽을 수있는 상태에 도달하지 않습니다. 'http GET http : //127.0. 0.1 : 8000/api/example/-H '권한 부여 : 토큰 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b' http://www.django-rest-framework.org/api-guide/authentication/#tokenauthentication –

+0

@RyanPergent 권한을 추가 할 수 있습니다 'param! – Sid

+0

작동하지 않습니다. Authorization 매개 변수를 다음과 같이 추가하면 :'Authorization = Token % 20ba5d691212cc94a6e0267c4e2117fb798bd4ec'는 금지 된 HTTP 403을 반환합니다. –

1

이 처리하는 가장 간단한 방법은 당신이 요청을 수행하기 위해 제공하는 정확한 URL string을 사용하여 다음과 같은 기능

function apiCall() { 
return fetch('http://mywebsite.com/api/?param1=value1&param2=value2') 
.then((response) => response.json()) 
.then((responseJson) => { 
return responseJson.movies; 
}) 
.catch((error) => { 
console.error(error); 
}); 
} 
+0

를 호출 할 때

같은 당신의 URL을에서 URL의 PARAMS을 포함하지만 인증의 경우에는 작동하지 않습니다이 방법은 그렇지? 예를 들어 요청을 허용하기 위해 API에 대한 url과 함께 사용자 이름과 암호 또는 토큰을 전달해야하는 경우. django rest 프레임 워크에서 요구되는대로 http://www.django-rest-framework.org/api-guide/authentication/#how-authentication-is-determined –

+0

요청의 BODY에 인증 토큰이나 암호를 넣을 수 있습니다. 예 : ------> let = Object.assign ({method : verb}, params? {body : JSON.stringify (params)} : null); 그런 다음 사용 -------> (apiEndpoint, 옵션) 가져 가 PARAMS 당신은 문제가있는 경우 요청 –

+0

로 통과 좋아하는 키 - 값 데이터의 간단한 예제가 있습니다이었다 headers 및 body 매개 변수가있는 POST 요청에 대한 설명서. https://facebook.github.io/react-native/docs/network.html#using-fetch –

관련 문제