簡體   English   中英

REST API 方法不適用於 json 格式。 [爪哇]

[英]REST API method doesn't work with json format. [Java]

我正在嘗試在 postman 中測試 REST API 方法。這個想法是,當我使用x-wwww-form-urlencoded測試它時,我得到了正確的結果,但是當嘗試使用Json格式時,我得到狀態500 - "Internal Server Error"

這是我要測試的POST方法:

@PostMapping(value = "/send", produces = {"application/json"}, consumes = {"application/x-www-form-urlencoded", "application/json"})
    public void sendFeedback(UserDTORegister userDTORegister,
                             BindingResult bindingResult){
        if(bindingResult.hasErrors()){
            throw new ValidationException("Feedback is not valid");
        }
        // create a mail sender
        JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
        mailSender.setHost(this.emailConfig.getHost());
        mailSender.setPort(this.emailConfig.getPort());
        mailSender.setUsername(this.emailConfig.getUsername());
        mailSender.setPassword(this.emailConfig.getPassword());

        // create an email instance
        SimpleMailMessage mailMessage = new SimpleMailMessage();
        mailMessage.setFrom("HopMenu@gmail.com");
        mailMessage.setTo(userDTORegister.getEmail());
        mailMessage.setSubject("New account created - Hop Menu");
        mailMessage.setText(
                        "New account created. Welcome to Hop Menu! Credentials ->" +
                        " email: " + userDTORegister.getEmail() +
                        " pass: " + userDTORegister.getPassword());

        // Send mail
        mailSender.send(mailMessage);

    }

如果你能幫助我,我將不勝感激。 下面是我的測試圖像,使用jsonx-www-form-urlencoded

使用 x-www-form-urlencoded: 使用 x-www-form-urlencoded

使用 Json: 使用傑森

解決了它,在我的UserDTORegister參數之前使用 @RequestBody。 在使用 Json 格式時,您似乎必須使用 @RequestBody。

暫無
暫無

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

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