在上壹篇文章中,我們使用hibernate-spatial使Spring Data JPA支持空間數據。我們使用Hibernate Spatial和Spring Data JPA成功地支持了空間字段的映射、添加、刪除、查詢和修改。但是我們現在面臨的問題是如何將來自客戶端的json數據轉換為幾何圖形(Point,LineString),以及如何將後臺的幾何圖形直接轉換為JSON。在GIS領域,有壹種標準的GIS JSON格式,稱為geojson。在本文中,我們將使用geojson格式來轉換帶有幾何圖形的對象。我們的想法是Spring Boot自動為我們註冊了映射Jackson 2 HttpMessageConverter,可以在org找到它。spring framework . boot . auto configure . web . jacksonhtpmessageconverter配置,例如:
由此我們可以看出,Spring Boot使用當前的消息轉換器來實現幾何圖形和json之間的轉換,我們只需要定制objectMapper來支持geojson。
添加第三方依賴項:
自定義對象以支持幾何圖形和geojson之間的準轉換;
目前,這個第三方依賴項存在壹個bug,即它不支持空間坐標系。在單壹系統中,坐標系通常應該是確定的,因此不支持它的問題不大,因此我們將前面示例的字段映射修改為:
測試控制器:
測試數據,並使用請求正文將以下結果發布到後臺:
返回值是:
此時,我們實現了幾何數據和geojson數據之間的自動轉換。