簡體   English   中英

在 React Native 中的 API 調用中使用參數而不是不記名令牌

[英]Using params instead of bearer token in API call in React Native

我在我的 React Native 應用程序中使用了很多 API。 在很多地方,我將不記名令牌用於不同目的。 現在它看起來像:

 getCustomerProfile: async token => { return await fetch( `MY API`, { method: 'GET', headers: { Accept: 'application/json', Authorization: `Bearer ${token}`, 'Content-Type': 'application/json', }, } ).then(response => response.json()).then(json => { return json; }).catch(error => warn(error)); },

但現在我不想使用標頭,只想使用參數來獲得響應。 在 postman 我的 API 與參數一起工作正常。 但是我怎樣才能在這里改變以使用參數而不是標題來獲得響應?

他們文檔中的fetch標准提出了一種在 fetch 請求中使用查詢參數的方法。 因此,您需要做的就是使用searchParams創建一個參數和 append 到您的 URL ,然后像往常一樣發出請求GET request

這里是:

var url = new URL("https://geo.example.org/api"),
    params = {lat:35.696233, long:139.570431}
Object.keys(params).forEach(key => url.searchParams.append(key, params[key]))
fetch(url).then(/* … */)

注意:您也可以關注此線程以獲取更多信息。

這是示例代碼

fetch('your url', 
              {
              method: 'POST',
              headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json',         
              },
              body: JSON.stringify(
              {
            "p1": "value1",
            "p2"  :  "value2",
              })
            }).then((response) => response.json())
            .then((responseJson) => {
              // remaining code here 

            }).catch((error) => {
                console.error(error);
                });

或者從官方方面

fetch('https://mywebsite.com/endpoint/', {
  method: 'POST',
  headers: {
    Accept: 'application/json',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    firstParam: 'yourValue',
    secondParam: 'yourOtherValue'
  })
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM