第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

彈簧啟動(dòng)控制器無(wú)法識(shí)別來(lái)自 ajax 的數(shù)據(jù)

彈簧啟動(dòng)控制器無(wú)法識(shí)別來(lái)自 ajax 的數(shù)據(jù)

斯蒂芬大帝 2022-09-28 14:55:35
我正在嘗試將 json(電子郵件和密碼)從 ajax 發(fā)送到彈簧啟動(dòng)中的控制器方法。我確信我正在從html中獲取數(shù)據(jù)并以正確的方式解析json,但控制器仍然說(shuō)缺少電子郵件預(yù)期字段。我也使用過(guò),但沒(méi)有任何變化,所以我決定創(chuàng)建自己的對(duì)象,然后將其解析為json。form.serialized()單擊提交按鈕時(shí),Ajax 調(diào)用開(kāi)始:function login() {var x = {    email : $("#email").val(),    password : $("#password").val()  };$.ajax({    type : "POST",    url : "/checkLoginAdministrator",    data : JSON.stringify(x),    contentType: "application/json",    dataType: "json",    success : function(response) {        if (response != "OK")            alert(response);        else            console.log(response);    },    error : function(e) {        alert('Error: ' + e);      }});這是控制器內(nèi)部的方法:@RequestMapping("/checkLoginAdministrator")public ResponseEntity<String> checkLogin(@RequestParam(value = "email") String email,                                         @RequestParam(value = "password") String password) {    String passwordHashed = Crypt.sha256(password);    Administrator administrator = iblmAdministrator.checkLoginAdministrator(email, passwordHashed);    if (administrator != null) {        Company administratorCompany = iblmCompany.getAdministratorCompany(administrator.getCompany_id());        String administratorCompanyJson = new Gson().toJson(administratorCompany);        return new ResponseEntity<String>(administratorCompanyJson, HttpStatus.OK);    }    return new ResponseEntity<String>("{}", HttpStatus.OK);}我傳遞的 json,我可以看到與 a 如下:console.log(){"email":"fantasticemail@email.it","password":"1234"}在IJ控制臺(tái)中,我得到了這個(gè)爪哇警告:Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required String parameter 'email' is not present]
查看完整描述

2 回答

?
四季花海

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個(gè)贊

問(wèn)題是你正在使用它從URL中獲取參數(shù),你應(yīng)該用于POST請(qǐng)求@RequestParam@RequestBody


我建議創(chuàng)建一個(gè)DTO對(duì)象,您可以使用它來(lái)讀取POST請(qǐng)求的正文,如下所示:


public ResponseEntity<String> checkLogin(@RequestBody UserDTO userDTO){

DTO 是這樣的:


public class UserDTO {

  private String email;

  private String password;


  //getter & setters

}


查看完整回答
反對(duì) 回復(fù) 2022-09-28
?
米琪卡哇伊

TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊

您可以遵循以下方法:

  1. 使用內(nèi)容類(lèi)型:“應(yīng)用程序/json;字符集 = utf-8“,

  2. 創(chuàng)建一個(gè)域?qū)ο螅搶?duì)象是電子郵件和密碼的包裝器,并使用@RequestBody讀取 json

public class Login{

 private String email;

 private String password;

 //Getters and Setters

}




@RequestMapping("/checkLoginAdministrator")

public ResponseEntity<String> checkLogin((@RequestBody Login login) {

 //logic

}


查看完整回答
反對(duì) 回復(fù) 2022-09-28
  • 2 回答
  • 0 關(guān)注
  • 111 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)