我有一個反應前端和一個彈簧后端。我有后端的 rest 服務,它將摘要生成器數據作為輸入并返回與輸出相同的內容。我有一個表單,它采用文本區域輸入和提交按鈕。當通過axios發送帖子請求時,我得到一個空對象。我已經通過postman測試了api,但是當通過axios提交它時,我得到了一個500的內部錯誤。我已經在 RestController 中啟用了 CORS。請讓我知道什么是問題 總結者數據 Pojo@Entity(name = "user_text_data")@Getter@Setter@ToStringpublic class SummarizerData { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; @Column private String paragraph; @Column private LocalDateTime creationDate; @Transient private List<Sentence> summarizedSentences; public SummarizerData(){ } public SummarizerData(String paragraph){ this.paragraph = paragraph; this.creationDate = LocalDateTime.now(); }}TextSummarizerController@RepositoryRestController@RequestMapping("/api")public class TextSummarizerController{ @Autowired SummarizerDataRepository repository; Logger logger = Logger.getLogger(TextSummarizerController.class.getName()); @CrossOrigin @RequestMapping(method = RequestMethod.POST, value = "/summarize") public @ResponseBody SummarizerData getSummarizerData(@RequestBody SummarizerData data ){ System.out.println("Returning Summarized Data"); SummaryTool summaryTool = new SummaryTool(); logger.info(data.toString()); repository.save(data); data.setSummarizedSentences(summaryTool.startSummarization(data.getParagraph())); return data; }}反應前端import React, { Component } from 'react';import './App.css';import 'bootstrap/dist/css/bootstrap.min.css';import Navbar from './components/Navbar';import ParagraphEntry from './components/ParagraphEntry';import {BrowserRouter as Router, Route} from 'react-router-dom';import axios from 'axios';class App extends Component { constructor(props){ super(props); this.state = { "summarizerData" : {}, "paragraph" : "" } ; }上面的突出顯示是摘要生成器數據,其中所有字段均為 null。我是一個反應初學者,所以請讓我知道任何錯誤。
1 回答

繁花不似錦
TA貢獻1851條經驗 獲得超4個贊
問題是你不必要地包裝并使用對象構造函數運算符()。您之前已經創建了這些對象,這應該可以解決您的問題:summarizerDataheaders{}
axios.post('http://localhost:8080/api/summarize', summarizerData, headers)
這樣做是創建一個像這樣對象:{summarizerData}
{
"summarizerData": {
"paragraph": this.state.paragraph,
"creationDate": "2019-03-10T00:58:23",
"summarizedSentences": null
}
}
無法在后端映射到。您可以使用 Devloper Tools(Chrome、Firefox)來調查您的 HTTP 調用。例如,它將允許您查看請求正文中實際發送的內容,查看請求和響應標頭及其值等。SummarizerData
添加回答
舉報
0/150
提交
取消