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

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

在 Java Servlet 中發(fā)送 JSON/GSON 請(qǐng)求會(huì)導(dǎo)致“錯(cuò)誤請(qǐng)求”

在 Java Servlet 中發(fā)送 JSON/GSON 請(qǐng)求會(huì)導(dǎo)致“錯(cuò)誤請(qǐng)求”

紅顏莎娜 2022-04-28 17:08:16
我有想要獲得有效響應(yīng)的 servlet 代碼。這是請(qǐng)求的原始布局 {  "function": "Check",  "teamId": "<teamId>",  "teamKey": "<teamKey>",  "requestId": "<request-id>",  "firstName": "<FirstName>",  "lastName": "<LastName>",  "ticketNumber": "<ticket-num>"}我在 Intellij 的 servlet 中有這個(gè)。import com.google.gson.*;import com.google.*;import org.apache.*;import org.apache.http.*;@WebServlet(name = "Logincheck", urlPatterns = {"/Logincheck"})public class Servlet extends HttpServlet {String teamID = "IC106-2";String teamKey = "1b3741ccf6d9ec5245055370125d901e";String url="http://fys.securidoc.nl:11111/Ticket";int Min = 1;int Max = 100;int REQ_ID =  Min + (int)(Math.random() *((Max - Min)+1));    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {    }    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//index.html form user input     String fname = request.getParameter("firstName");    String lastName = request.getParameter("lname");    String ticketNummer = request.getParameter("ticketnr");    JsonParser parser = new JsonParser();    URL object=new URL(url);    String ticketCheck = "{\"function:\"Check\",\"teamId\":\"IC106-2\",\"teamKey\":\"1b3741ccf6d9ec5245055370125d901e\",\"requestId\":\""+REQ_ID+"\",\"firstName\":\""+fname+"\",\"lastName\":\""+lastName+"\",\"ticketNumber\":\""+ticketNummer+"\"}";    }}現(xiàn)在,當(dāng)我點(diǎn)擊運(yùn)行時(shí),它會(huì)打開我的 index.html,當(dāng)我單擊登錄按鈕到 /Logincheck 時(shí),它會(huì)響應(yīng)(在 intellij 內(nèi)):Bad RequestTeamkey 和 TeamID 100% 正確,但我可能忽略了與 Json 相關(guān)的一些事情。一般來(lái)說(shuō),我對(duì) Json 和 servlet 的經(jīng)驗(yàn)很少。就像我制作硬編碼的登錄和票證憑據(jù)一樣,還是用戶的輸入正確已經(jīng)正確?我應(yīng)該期待這樣的回應(yīng):{  "ticketStatus": "<ticket-status>",  "requestId": "<request-id>",  "result": "<result-code>",  "resultText": "<result-text>"}
查看完整描述

2 回答

?
Cats萌萌

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

您應(yīng)該將 json 數(shù)據(jù)寫入請(qǐng)求正文。為此,您可以使用OutputStreamWriter類寫入如下輸出流HttpURLConnection:


String ticketCheck = "{ \"function\":\"Check\",\"teamId\":IC106-2,\"teamKey\":1b3741ccf6d9ec5245055370125d901e,\"requestId\":1,\"firstName\":\"" + fname + "\" ,\"lastName\":\""+lastName+"\",\"ticketNumber\":\"\"" + ticketnummer + "\"}";


HttpURLConnection con = (HttpURLConnection) object.openConnection();

con.setDoOutput(true);

con.setDoInput(true);

con.setRequestProperty("Content-Type", "application/json");

con.setRequestProperty("Accept", "application/json");

con.setRequestMethod("POST");


OutputStreamWriter writer = new OutputStreamWriter(con.getOutputStream());

writer.write(ticketCheck);

//this line closes the outputstream and actually makes the http request is sent

writer.flush();


查看完整回答
反對(duì) 回復(fù) 2022-04-28
?
holdtom

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

解決了。簡(jiǎn)單的報(bào)價(jià)錯(cuò)字?!板e(cuò)誤請(qǐng)求”意味著語(yǔ)法錯(cuò)誤,我忘記在函數(shù)旁邊添加 \" 。

    String ticketCheck = "{\"function\":\"Check\",\"teamId\":\"IC106-2\",\"teamKey\":\"1b3741ccf6d9ec5245055370125d901e\",\"requestId\":\""+REQ_ID+"\",\"firstName\":\""+fname+"\",\"lastName\":\""+lastName+"\",\"ticketNumber\":\""+ticketNummer+"\"}";

上面正確的json


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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