Axiosを使用して、react-nativeアプリでデータを取得する必要があります。以下のように簡単なGETメソッドでデータを取得できます。
class AlbumList extends Component {
state = { albums: [] };
componentWillMount() {
//axios.get('https://rallycoding.herokuapp.com/api/music_albums') .then(response => console.log(response));
axios.get('http://rallycoding.herokuapp.com/api/music_albums')
.then(response => this.setState({ albums: response.data }));
}
renderAlbums() {
return this.state.albums.map(album =>
<AlbumDetail key={album.title} album={album} />);
// return this.state.albums.map(album => <Text>{album.title}</Text>);
}
render() {
console.log(this.state);
return (
<View>
{this.renderAlbums()}
</View>
);
}
}
POST
メソッドを使用してAPIからデータを取得するにはどうすればよいですか。また、ヘッダーとapi-username、api-password、apitokenを渡す必要がありますか?
https://stackoverflow.com/a/41358543/9490 のようなものが必要ですが、[〜#〜] axios [〜#〜]。
編集:
[〜#〜] linnwork [〜#〜] APIからデータを取得する必要があります。誰かがこれを行った場合、ガイドしてください。彼らはまず authorize する必要があり、それからそこからデータを取得できます。そのため、認証してから次のステップに進みます。
axios post
メソッドは3つの引数、つまりurl、data&configを取ります。
次のようにaxios投稿リクエストを構成できます。
axios.post(
'http://rallycoding.herokuapp.com/api/music_albums',
{
'param1': 'value1',
'param2': 'value2',
//other data key value pairs
},
{
headers: {
'api-token': 'xyz',
//other header fields
}
}
);
あなたの場合、https://api.linnworks.net/api/Inventory/GetCategories
にアクセスする必要があります。これは docs に従ってtoken
ヘッダーの認証APIからAuthorization
を必要とします。したがって、axiosを介したGETリクエストは次のようになります。
axios.get("https://api.linnworks.net/api/Inventory/GetCategories", {
headers: {
'Authorization': 'token-from-auth-api'
}
}).then((response) => {
console.log(response.data);
})