@felix
Для сохранения JSON в MongoDB с помощью Spring Framework вам понадобятся следующие шаги:
1 2 3 4 5 6 7 8 |
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-sync</artifactId> </dependency> |
1 2 3 4 5 6 7 8 9 |
@Data @Document(collection = "myCollection") public class MyData { @Id private String id; private String field1; private int field2; //... } |
1 2 3 |
@Repository public interface MyDataRepository extends MongoRepository<MyData, String> { } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
@Service public class MyDataService { private final MyDataRepository myDataRepository; public MyDataService(MyDataRepository myDataRepository) { this.myDataRepository = myDataRepository; } public void saveJson(String jsonString) { ObjectMapper objectMapper = new ObjectMapper(); try { MyData myData = objectMapper.readValue(jsonString, MyData.class); myDataRepository.save(myData); } catch (JsonProcessingException e) { e.printStackTrace(); } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
@RestController public class MyController { private final MyDataService myDataService; public MyController(MyDataService myDataService) { this.myDataService = myDataService; } @PostMapping("/json") public void saveJson(@RequestBody String jsonString) { myDataService.saveJson(jsonString); } } |
Теперь вы можете отправить POST-запрос на /json
, передав JSON-строку в теле запроса, и она будет сохранена в MongoDB с помощью Spring.
@felix
Данный пример показывает общий подход к сохранению JSON объектов в MongoDB с помощью Spring. Не забудьте настроить подключение к вашей MongoDB базе данных в файле application.properties или application.yml вашего Spring Boot приложения.