こんばんは。エキサイト株式会社の中尾です。
あまり需要がないかもしれないですが、Controllerでもinterfaceをimplementsすることができます。
ただ普通にimplementsすることは、どんなクラスでもできますが、@RequestMapping
や@GetMapping()
や@RequestParam()
も使えます。
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @RequestMapping("hello") public interface HelloController { /** * helloを返すエンドポイント * * @param hello * @return */ @GetMapping() String hello(@RequestParam(name = "hello") String hello); }
import org.springframework.web.bind.annotation.RestController; @RestController public class HelloControllerImpl implements HelloController { @Override public String hello(String hello) { return hello + "\n"; } }
気をつけて欲しいのは@RestController
は実装クラスにつけるということです。
まぁ、swaggerでも良いのですが