2017-05-19 7 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にリクエストアイテムを指定するにはどうすればよいですか?

EDIT:私の目標は、ページにアクセスするためにこれらのリクエスト項目を必要とする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'd http://www.django-rest-framework.org/api-guide/authentication/#tokenauthentication –

+0

@RyanPergentあなたは 'Authorization '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 frameworkの必要に応じてhttp://www.django-rest-framework.org/api-guide/authentication/#how-authentication-is-determined –

+0

認証トークンまたはパスワードをリクエストのBODYに入れることができます。 例:------> let = Object.assign({メソッド:動詞}、params?{body:JSON.stringify(params)}:null); 次に使用:あなたは簡単な例がでている問題が発生した場合------->(オプション、apiEndpoint)をフェッチ はparamsがあなたが要求 –

+0

に合格したいキーと値のデータでありましたヘッダとbodyパラメータを含むPOST要求のドキュメント。 https://facebook.github.io/react-native/docs/network.html#using-fetch –

関連する問題