[英]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.