如何構建SpringBoot MongoDb RestfulApi? - groko
開啟pom.xml檔案,新增Spring Data Rest和Spring Data Mongo依賴項:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-<b>rest</b></artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>
模型類:
<b>public</b> <b>class</b> Customer implements Serializable { <b>private</b> <b>static</b> <b>final</b> <b>long</b> serialVersionUID = 1L; @Id <b>private</b> Long id; <b>private</b> String firstName; <b>private</b> String lastName; <b>private</b> <b>static</b> AtomicLong COUNTER = <b>new</b> AtomicLong(0L); @PersistenceConstructor <b>public</b> Customer() { <b>this</b>.id = COUNTER.incrementAndGet(); } @Override <b>public</b> String toString() { <b>return</b> String.format(<font>"Customer[id=%d, firstName='%s', lastName='%s']"</font><font>, id, firstName, lastName); } <b>public</b> String getFirstName() { <b>return</b> firstName; } <b>public</b> <b>void</b> setFirstName(String firstName) { <b>this</b>.firstName = firstName; } <b>public</b> String getLastName() { <b>return</b> lastName; } <b>public</b> <b>void</b> setLastName(String lastName) { <b>this</b>.lastName = lastName; } } </font>
通過擴充套件介面MongoRepository建立MongoDb儲存庫:
@RepositoryRestResource(collectionResourceRel = <font>"customer"</font><font>, path = </font><font>"customer"</font><font>) <b>public</b> <b>interface</b> CustomerRepository <b>extends</b> MongoRepository<Customer, String> { List<Customer> findByLastName(@Param(</font><font>"name"</font><font>) String name); } </font>
在上面的程式碼中,我們定義了一個自定義方法,用於按姓氏查詢列表客戶。
開啟application.properties來配置MongoDB:
spring.data.mongodb.database=restapi spring.data.mongodb.port=27017
執行MongoDB伺服器。然後執行Spring Boot專案。
GET請求:localhost:8080