为了账号安全,请及时绑定邮箱和手机立即绑定

解决 Rest API 调用状态码 400 问题

解决 Rest API 调用状态码 400 问题

慕田峪4524236 2022-05-25 10:05:24
其实我知道这是因为请求不好。但我无法弄清楚问题所在。我创建了一个 java 类来调用一个接受 JSON 对象并返回 A JSON 作为响应的 REST API。以下是我的 JAVA 代码public static void dataTest() {    List<String> resultSet = new ArrayList<>();    try {        URL url = new URL("http://localhost:8080/login/");        HttpURLConnection conn = (HttpURLConnection) url.openConnection();        conn.setDoOutput(true);        conn.setRequestMethod("POST");        conn.setRequestProperty("Content-Type", "application/json");        String input = "{\"mobile_number\":0719402232,\"pin\":\"1111\"}";        OutputStream os = conn.getOutputStream();        os.write(input.getBytes());        os.flush();        if (conn.getResponseCode() != HttpURLConnection.HTTP_CREATED) {            throw new RuntimeException("Failed : HTTP error code : " + conn.getResponseCode());        }        BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));        String output;        System.out.println("Output from Server .... \n");        while ((output = br.readLine()) != null) {            resultSet.add(output);            System.out.println(output);        }        conn.disconnect();    } catch (IOException e) {        e.printStackTrace();    }}但我收到 400 状态码。而且我还需要将返回的 JSON 传递给 JSP。以下是我访问 JAVA 类的方式  <ul>        <c:forEach items="${AddOrigin.DataTest()}" var="ListItem">            <li>${ListItem.name}</li>        </c:forEach>  </ul>在 JSP 中查看以下错误org.apache.jasper.JasperException: An exception occurred processing [/dwpages/AddOrigin.jsp] at line [359]356:                            <div id="main-content"></div>357: 358:                            <ul>359:                                <c:forEach items="${AddOrigin.DataTest()}" var="ListItem">360:                                    <li>${ListItem.name}</li>361:                                </c:forEach>362:            
查看完整描述

2 回答

?
DIEA

TA贡献1820条经验 获得超3个赞

我认为您应该将电话号码作为字符串传递(在引号之间)



查看完整回答
反对 回复 2022-05-25
?
临摹微笑

TA贡献1982条经验 获得超2个赞

我的java代码我有以下行

String input = "{\"mobile_number\":0719402232,\"pin\":\"1111\"}";

它必须改为

String input = "{\"mobile_number\":\"0719402232\",\"pin\":\"1111\"}";


查看完整回答
反对 回复 2022-05-25
  • 2 回答
  • 0 关注
  • 822 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号