ジャンボモナカ

34歳のハゲデブがHTML5ハイブリッドアプリ開発プラットフォームmonacaを始めました。

Spring BootでURLのパスを受け取る

Spring BootでURLのパスを受け取りたい場合は、どうすればいいのだろうか?

例えば、/hoge/123、/hoge/456というURLのパスがあった場合、123と456を受け取りたい。

調査してみると、@PathVariableを使えば取得することができます。

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.stereotype.Controller;

@SpringBootApplication
@Controller
public class HogeApplication {
    @GetMapping("/hoge/{path}")
    public String hoge(@PathVariable(name = "path") String path) {
        return "hoge";
    }
}

デフォルトでは、パラメータが必須になっているので、任意にしたい場合は、requiredパラメータをfalseにします。


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.stereotype.Controller;

@SpringBootApplication
@Controller
public class HogeApplication {
    @GetMapping("/hoge/{path}")
    public String hoge(@PathVariable(name = "path", required = false) String path) {
        return "hoge";

    }
}