我想使用 JSON 获取 HTTP PUT 请求并将其未经修改地存储在 Mongo 中。我怎样才能做到这一点?我拥有的最好的就是这个:
@RestController
public class ConfigurationController {
@Autowired
private MongoTemplate mongoTemplate;
@RequestMapping
public DBObject index() {
return mongoTemplate.getCollection("foo").findOne();
}
@RequestMapping(method = RequestMethod.PUT)
ResponseEntity<?> add(@RequestBody DBObject object) {
mongoTemplate.insert(object, "foo");
return new ResponseEntity<>(null, HttpStatus.CREATED);
}
}
最佳答案
在较新版本的 Mongodb (mongo-java-driver 3.0+) 中,API 使用 org.bson.Document,因此您的解决方案应如下所示:
@RestController
public class ConfigurationController {
@Autowired
private MongoTemplate mongoTemplate;
@RequestMapping(method = RequestMethod.PUT)
ResponseEntity<?> add(@RequestBody String jsonString) {
Document doc = Document.parse(jsonString)
mongoTemplate.insert(doc, "foo");
return new ResponseEntity<>(null, HttpStatus.CREATED);
}
}
关于json - 如何使用 Spring Boot 在 Mongo 中存储原始 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29656128/