第一次做项目,后端数据不是来自3000个端口。我真的不知道有什么问题。如果你能告诉我我会很感激的。
Springboot TestController
package com.example.joyit;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
@GetMapping("/api/test")
public String text(){
return "test api";
}
}
App.js
import React, {useState,useEffect} from 'react';
import axios from 'axios'
import './App.css';
function App() {
const [testStr, setTestStr] =useState('');
function callback(str){
setTestStr(str);
}
useEffect(
()=>{
axios.get('/api/test')
.then((Response)=>{callback(Response.data)})
.catch((Error)=>{console.log(Error)})
}, []
);
return (
<div className="App">
<header className="App-header">
api/test =={'>'}
{testStr}
</header>
</div>
);
}
export default App;
setupProxy.js
const{createProxyMiddleware} = require('http-proxy-middleware');
module.exports = function (app){
app.use(
'/api',
createProxyMiddleware({
target:'http://127.0.0.1:8080',
changeOrigin:true,
})
);
};
后端数据不会出现。
如果你能告诉我怎么解决这个问题,我将非常感激。
1条答案
按热度按时间ibps3vxo1#
如果你在
reactjs
中使用axios
,最好使用service class来调用api。您可以在以后使用tryCatch语句在任何其他组件中重用它。
如果你使用的是
SpringBoot
,你可以使用ResponseEntity
类来响应body。另外,如果你使用的是
SpringSecurity
,请确保它有访问该方法的权限。