use*_*949 9 json mongodb spring-boot
我想用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);
}
}
Run Code Online (Sandbox Code Playgroud)
Rod*_*yas 12
在较新版本的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);
}
}
Run Code Online (Sandbox Code Playgroud)
也许不是最好的解决方案,但类似的东西应该可以工作 - 更改控制器以接受任何字符串:
... add(@RequestBody String object) ...
Run Code Online (Sandbox Code Playgroud)
并关注http://www.mkyong.com/mongodb/java-mongodb-convert-json-data-to-dbobject/
DBObject dbObject = (DBObject) com.mongodb.util.JSON.parse(object);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12013 次 |
最近记录: |