web-dev-qa-db-fra.com

Obtenez les données API avec POST en react-native avec axios

J'ai besoin d'obtenir des données dans une application native native avec axios. Je peux obtenir des données avec une méthode GET simple comme ci-dessous:

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>    
);
}
}

Comment puis-je obtenir des données de l'API avec la méthode POST et je dois également passer l'en-tête et le nom d'utilisateur api, le mot de passe api, apitoken?

J'ai besoin de quelque chose comme https://stackoverflow.com/a/41358543/9490 mais avec [~ # ~] axios [~ # ~] .

Modifier:

J'ai besoin d'obtenir des données de LINNWORK API. si quelqu'un l'a fait, veuillez guider. Ils doivent d'abord autoriser puis je peux obtenir des données à partir de là. Authrize donc et prochaine étape.

6
Jai

la méthode axios post prend 3 arguments, c'est-à-dire url, data & config.

vous pouvez structurer la demande de publication axios comme suit:

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
       }
    }
);

Dans votre cas, vous devez accéder à https://api.linnworks.net/api/Inventory/GetCategories, qui selon docs requiert token de l'auth api dans Authorization en-tête. Ainsi, votre demande GET via axios sera:

axios.get("https://api.linnworks.net/api/Inventory/GetCategories", { 
    headers: {
      'Authorization': 'token-from-auth-api'
    }
}).then((response) => {
    console.log(response.data);
})
8
Deepansh Sachdeva