我正在编写一个java应用程序,它将一个post请求发送到服务器并期望来自服务器的json。现在,当我需要从服务器获取响应时,我只需要在http代码为200(HTTP OK)时从inputStream获取它,还是有其他任何情况? ,例如:
//...
if (urlConn.getResponseCode() == HttpURLConnection.HTTP_OK) {
// only here try to get the response
}
//...
答案 0 :(得分:3)
这取决于服务器的实现方式。如果服务器有API,请检查API。如果它是内部的,请询问您的服务器人员。
一般来说,如果您的回复代码是2xx或3xx,我会检查回复......
答案 1 :(得分:2)
如果您与之通信的服务器遵循规范,则200或201响应有效包含实体。 204响应成功但响应中没有数据。
有关可接受的POST响应的详细信息,请参见此处的第9.5节:http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.5。摘录如下:
POST方法执行的操作可能不会产生资源 可以通过URI识别。在这种情况下,200(OK)或204 (No Content)是适当的响应状态,具体取决于是否 或不响应包括描述结果的实体。
如果已在源服务器上创建资源,则为响应 应该是201(创建)并包含一个描述该实体的实体 请求的状态,并引用新资源和位置 标题(见第14.30节)。
答案 2 :(得分:0)
有三件事需要考虑: