gpt4 book ai didi

java - Mongo DB Rest API 中 ObjectId 的十六进制表示无效

转载 作者:行者123 更新时间:2023-11-30 02:23:11 25 4
gpt4 key购买 nike

我正在使用 REST API 使用 @Form 参数从 Mongo DB 获取数据,并收到异常:“ObjectId 的十六进制表示形式无效”。语法似乎是正确的,不确定哪里出了问题。我在其余参数中传递新的 ObjectId (id)。代码如下:

//Country.java

package com.speed.infoaxon;

import java.io.IOException;
import java.net.UnknownHostException;

import org.bson.types.ObjectId;

import com.mongodb.BasicDBList;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;

public class Country {
public BasicDBObject addDemo(long _id ) throws IOException {
DB db=ConnectToDB.getConnection();

DBCollection collection = db.getCollection("demo");
BasicDBObject buildList = null;
BasicDBObject document = new BasicDBObject();
document.put("_id",new ObjectId("id"));
collection.save(document);
return buildList;
}

}


//getResponse.java

package com.speed.infoaxon;

import java.io.IOException;
import java.net.UnknownHostException;

import javax.ws.rs.Consumes;
import javax.ws.rs.FormParam;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import com.mongodb.BasicDBList;
import com.mongodb.BasicDBObject;

@Path("/add")
public class GetResponse {

@POST
@Path("/addDemo")
@Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_FORM_URLENCODED} )

public BasicDBObject addDemo(@FormParam("_id") long _id) throws IOException
{
System.out.println("inside demo");
Country d = new Country();
BasicDBObject basicDBList=d.addDemo(_id);

return basicDBList;

}
}

Please let me know where is the issue. Thanks in advance.

最佳答案

document.put("_id",new ObjectId("id"));

您在引号中使用“id”,这意味着您需要传入实际的 id 字符串中的 id

关于java - Mongo DB Rest API 中 ObjectId 的十六进制表示无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46290789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com