Я создаю какое-то приложение spring +act.js, и одной из основных функций этого является показ новостей из базы данных MySQL. Но когда я пытаюсь получить JSON, используя функцию реагирования, которая ничего мне не возвращает.
Я добавил 'Content-Type': 'application / json', 'Accept': 'application / json' в функцию выборки React, но это не помогло.
Реагирующий компонент:
class News extends Component {
constructor(props) {
super(props);
this.state = {
news: []
}
};
ourFunction = () =>{
const response = fetch('/news/all',{
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
});
console.log(response);
const body = response.json;
console.log(body);
this.setState({news : body });
console.log(this.state.news);
};
render() {
return (
<div className="news">
<span onClick={this.ourFunction}>Click{}</span>
<div className="news_bar"> Новини</div>
{defaultNewsData.map(({title, content, date}) => <AccordionContainer
title={title}
content={content}
date={date}
/>)}
</div>
);
}
}
export default News;
Пружинный контроллер:
@RestController
@RequestMapping(path = "/news")
public class NewsController {
@Autowired
private NewsRepository newsRepository;
@GetMapping("/add")
public String addNewNews(@RequestParam String title, @RequestParam String content){
News news = new News();
news.setTitle(title);
news.setContent(content);
newsRepository.save(news);
return "News Saved";
}
@GetMapping(path = "/all")
public Iterable<News> getAllNews(){
return newsRepository.findAll();
}
}
Ожидается: получить объект JSON в javascript и проанализировать его в HTML.
Фактически: я ничего не получаю, что показано на консоли.