簡體   English   中英

服務器響應404-POST請求

[英]Server responded with 404 - POST request

我希望創建一個Web應用程序,將用戶輸入保存到數據庫中。 我在界面上使用Java和React,但始終收到404錯誤。

我有以下腳本:

反應:

addCreditCard(event) {
var that = this;
event.preventDefault();
let card_data = {
    cardholder : this.refs.cardholder.value,
    cardnumber : this.refs.cardnumber.value,
    card_identifier : (this.refs.cardnumber.value).substr(15),
    expiration : this.refs.expiration.value,
    cvc : this.refs.cvc.value
};
console.log('Ez itt: ' + JSON.stringify(card_data))
const request = {
  method: 'post',
  headers: {
    'Accept': 'application/json, text/plain, */*',
    'Content-Type': 'application/json'
  },
     body: JSON.stringify(card_data)

}
let creditcards = that.state.creditcards;
      creditcards.push(card_data);
        that.setState({
         creditcards : creditcards
})

console.log(creditcards)

fetch('/api/new-card', request)
.then(response => {
    if (response.ok) {
         return response.json();
       } else {
          throw new Error('Something went wrong ...');
       }
     })
       .then(data => this.setState({ creditcards: data.creditcards }))
       .catch(error => this.setState({ error }))
       }

爪哇

@Path("")
@Produces(ExtendedMediaType.APPLICATION_JSON_UTF8)
@Consumes(ExtendedMediaType.APPLICATION_JSON_UTF8)
public class CreditCardRest {

/**
 * Injected configurationDao.
 */
@Inject
@Named(SessionFactoryProducer.SQL_SESSION_FACTORY)
private CardDAO cardDAO;

@RequestMapping(value = "/new-card", method = RequestMethod.POST)
@Transactional
public Response.ResponseBuilder saveCreditCardData(@PathParam("cardholder") final String cardholder,
        @PathParam("cardnumber") final Integer cardnumber,
        @PathParam("expiration") final String expiration,
        @PathParam("cvc") final Integer cvc,
        @PathParam("card_identifier") final Integer card_identifier,
        @Context HttpServletResponse servletResponse) throws Exception {

    Reader reader = Resources.getResourceAsReader("mybatis-card-service.xml");
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
    SqlSession session = sqlSessionFactory.openSession();

    //Create a credit card object
    cardDAO.saveCreditCardData(cardholder, cardnumber, expiration, cvc, card_identifier);

    System.out.println("record inserted successfully");
    session.commit();
    session.close();

    return Response.status(200);
   }
  }

JS代碼有效,問題出在Java類和Ract之間的連接上……很抱歉,但我無法弄清楚……當然,這只是整個代碼的一部分,但我希望是對於已經一見鍾情的人可能顯而易見...非常感謝!

謝謝...

沒有/api路徑。 /new-card端點的路徑是/new-card因為在class級別沒有根路徑。

@Path("/api")
@Produces(ExtendedMediaType.APPLICATION_JSON_UTF8)
@Consumes(ExtendedMediaType.APPLICATION_JSON_UTF8)
public class CreditCardRest {

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM