亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

通過Axios發送post請求是在Spring-Boot后端生成一個空的RequestBody。

通過Axios發送post請求是在Spring-Boot后端生成一個空的RequestBody。

忽然笑 2022-08-17 10:20:00
我有一個反應前端和一個彈簧后端。我有后端的 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


查看完整回答
反對 回復 2022-08-17
  • 1 回答
  • 0 關注
  • 188 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號