Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java RESTAPI使用POST显示空白响应_Java_Mongodb_Rest - Fatal编程技术网

Java RESTAPI使用POST显示空白响应

Java RESTAPI使用POST显示空白响应,java,mongodb,rest,Java,Mongodb,Rest,在处理RESTAPI时,我使用POST方法使用@FormParam注释从Mongo DB获取数据。当我使用GET-type时,它会返回JSON格式的响应,当我将方法从GET改为POST时,我得到的是空白响应 守则: //GetResponse.java // @Path("/Location") public class GetProjectLocationResponse { @POST @Path("/State") @Cons

在处理RESTAPI时,我使用POST方法使用@FormParam注释从Mongo DB获取数据。当我使用GET-type时,它会返回JSON格式的响应,当我将方法从GET改为POST时,我得到的是空白响应

守则:

//GetResponse.java
//
@Path("/Location")
public class GetProjectLocationResponse {
   @POST
    @Path("/State") 
    @Consumes(MediaType.APPLICATION_JSON)
    @Produces(MediaType.APPLICATION_JSON)
    public Object[] addBuild2( 
           @FormParam("Country") String Country,  
           @FormParam("State") String State) throws UnknownHostException, JSONException
    { 
        System.out.println("ïnside Location");
        Location loc = new Location();
        List<DBObject> basicDBList=(List<DBObject>) loc.getState2(Country, State); //calling state method
        return basicDBList.toArray();
    }
        
//Location.java
//This defines the list of available zipcpdes on the basis on parameter 'Country' and 'States'.
    
    public List<DBObject> getState2(String Country, String State) throws UnknownHostException {
        DB db=ConnectToDB.getConnection();
        DBCollection collection = db.getCollection("location");
        BasicDBObject obj = new BasicDBObject();
        obj.put("Country",Country);
        obj.put("State",State);
        BasicDBObject fields = new BasicDBObject();
        fields.put("_id", 0);
        DBCursor cursor = collection.find(obj, fields);
        List<DBObject> obj1 =cursor.toArray();
        System.out.println(""+obj1);
        return obj1;
    }
}
    
    //index.html
//This file includes parameters 'country' and 'states' to return the JSON response.
<form action="rest/Location/State" method="post">  
Enter Country:<input type="text" name="Country"/><br/><br/>  
Enter State:<input type="text" name="State"/><br/><br/>  
<input type="submit" value="submit"/>  
    
//GetResponse.java
//
@路径(“/位置”)
公共类GetProjectLocationResponse{
@职位
@路径(“/State”)
@使用(MediaType.APPLICATION_JSON)
@产生(MediaType.APPLICATION_JSON)
公共对象[]addBuild2(
@FormParam(“国家”)字符串国家,
@FormParam(“状态”)字符串状态)抛出未知的hostException,JSONException
{ 
System.out.println(“ïnside位置”);
位置loc=新位置();
List basicDBList=(List)loc.getState2(Country,State);//调用State方法
返回basicDBList.toArray();
}
//Location.java
//这定义了基于参数“国家”和“州”的可用ZIPPD列表。
公共列表getState2(字符串国家/地区,字符串状态)引发UnknownHostException{
DB DB=ConnectToDB.getConnection();
DBCollection=db.getCollection(“位置”);
BasicDBObject对象=新的BasicDBObject();
obj.put(“国家”,国家);
obj.put(“状态”,状态);
BasicDBObject字段=新建BasicDBObject();
字段。放置(“\u id”,0);
DBCursor=collection.find(对象,字段);
List obj1=cursor.toArray();
系统输出打印项次(“+obj1”);
返回obj1;
}
}
//index.html
//该文件包含参数“country”和“states”以返回JSON响应。
输入国家:

输入状态:


我已经检查了代码,但没有发现任何错误的线索,导致POST类型的响应为空,而GET类型的响应为空。我认为它应该适用于POST类型,因为代码规范对这两种类型都是正确的。请在此处指定任何问题。提前感谢

您在这里使用帖子是为了一个不同的错误目的

使用GET检索数据,使用POST创建所需实体。POST调用的典型响应是创建201,用户界面不应期望POST调用有任何响应

未指定HTTP POST返回数据,因此不希望返回数据

类似问题:

您在这里使用POST是出于不同的错误目的

使用GET检索数据,使用POST创建所需实体。POST调用的典型响应是创建201,用户界面不应期望POST调用有任何响应

未指定HTTP POST返回数据,因此不希望返回数据

类似问题:

谢谢,在对基于参数的REST API使用@FormParam注释时,我可以使用GET吗?因为我在使用GET时出错。@user2267023,No.POST和PUT允许您在需要时使用表单参数。对于GET-only
,QueryParam
可以工作。快速链接:。我们可以使用ObjectMapper类通过POST实现这一点吗?有什么想法吗?你可以将请求正文传递给帖子,但不能传递FormParam。请随意探索。传递HttpServletRequest请求或请求正文,并使用对象映射器转换请求并继续。不确定是否只使用JAX-RS实现。如果您使用的是Spring REST,请继续使用
@RequestBody
谢谢,我使用的是JAX-RS实现而不是Spring REST,所以解决方案是不可能的?谢谢,我可以在使用@FormParam注释基于参数的REST API时使用GET吗?因为我在使用GET时出错。@user2267023,No.POST和PUT允许您在需要时使用表单参数。对于GET-only
,QueryParam
可以工作。快速链接:。我们可以使用ObjectMapper类通过POST实现这一点吗?有什么想法吗?你可以将请求正文传递给帖子,但不能传递FormParam。请随意探索。传递HttpServletRequest请求或请求正文,并使用对象映射器转换请求并继续。不确定是否只使用JAX-RS实现。如果您使用的是SpringREST,请继续使用
@RequestBody
谢谢,我使用的是JAX-RS实现而不是SpringREST,所以解决方案是不可能的?