網頁

2019/1/7

使用SpringBoot打造記帳簿專案(十一)建立第一個RestController

本篇建立記帳簿的第一支測試用的RestController。

使用SpringBoot打造記帳簿專案(十)建立SpringBoot專案我們在Eclipse中建立了記帳簿SpringBoot專案,接下來會寫一隻測試專案是否正常的RestController。

首先開啟src/main/resources/application.properties,在這邊設定記帳簿專案的環境目錄(context-path)為/moneynote,及設定埠號(port)為8080

application.properties

#context
server.servlet.context-path=/moneynote
server.port=8080

application.properties可設定的屬性請參考Appendix A. Common application properties


然後在src/main/java下建立idv.matt.HelloController

HelloController

package idv.matt.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

  @GetMapping("/hello")
  public String hello() {
    return "hello moneynote";
  }

}

因為idv.matt.HelloController的package不在SpringBootApplication類別MoneynoteApplication下,所以如果要讓SpringBoot掃描並註冊這個Controller bean,必須在MoneynoteApplication類別使用@ComponentScan加入要掃描component的package位置。

若沒有設定@ComponentScan,當你在送出request時,SpringBoot會認不得導向的Controller而導致Whitelabel Error Page錯誤。

MoneynoteApplication

package idv.matt.application;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;

@SpringBootApplication
@ComponentScan(basePackages = { "idv.matt.controller" })
public class MoneynoteApplication {

  public static void main(String[] args) {
    SpringApplication.run(MoneynoteApplication.class, args);
  }

}

完成以上後存檔,啟動moneynote專案,啟動後在瀏覽器網址列輸入http://localhost:8080/moneynote/hello

若執行成功返回如下畫面。



專案目錄結構如下


接著使用log4j2日誌,請參考使用SpringBoot打造記帳簿專案(十二)使用Log4j2 + SLF4J記錄日誌


參考:

沒有留言:

張貼留言