[英]Getting a 'Request failed with status code:404' when trying to access zomato search (axios)
我剛剛開始學習 react-native 並遇到了一個問題。
我的目標是: 1- 使用搜索欄輸入關鍵字搜索我所在城市的餐館。 2- 我得到了 API 密鑰 3- 使用了 axios 4- 得到了基本 URL
現在,當我在模擬器屏幕上搜索關鍵字時,它會顯示錯誤並且不返回任何結果。
我附上了來自 2 個屏幕的代碼以及模擬器屏幕的屏幕截圖。 請幫幫我!
import axios from 'axios'; export default axios.create({ baseURL:'https://developers.zomato.com/api/v2.1/search', headers:{ Authorization : 'Bearer b7510cd6146de7b9b81e17ddb7e0122b' } });
和搜索屏幕代碼
import React, {useState} from 'react'; import {View,Text,StyleSheet} from 'react-native'; import SearchBar from '../components/searchBar'; import zomato from '../api/zomato'; const searchScreen = ()=>{ const [term,setTerm] = useState(''); const [results,setResults] = useState([]); const searchAPI = async () =>{ const response = await zomato.get('/',{ params:{ count:15, q:term, entity_id:4 } }); setResults(response.data.restaurants); }; return ( <View> <SearchBar term ={term} onChangeTerm = {setTerm} onTermSubmit = {searchAPI} /> <Text> Search Screen </Text> <Text>we found {results.length} results</Text> </View> ); }; const styles = StyleSheet.create({}); export default searchScreen;
顯示錯誤 404,因為您發送的 URL 無效
在您的 Axios 實例中,您將基本路徑設置為
https://developers.zomato.com/api/v2.1/search
當您調用該實例時,您將使用"/search"
附加您的基本路徑,如下所示,
await api.get('/search', { params: { count: 15, q: term, entity_id: 4 } })
現在您的最終到達網址如下所示
https://developers.zomato.com/api/v2.1/search/search?.....
要解決此問題,您可以從 Axios 實例中刪除/search
或調用您的 axios 實例api.get('/', { params: { count: 15, q: term, entity_id: 4 } })
希望這對你有幫助。 如有疑問,請放心。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.