Spring WebMVCをやってみる (19) - UriComponentsBuilder -

2014-02-11T00:00:00+00:00 Java Spring Framework

公式ドキュメント的にはBuild URIsBuild URIs to Controllers and Methodsなあたりを読みつつ

package sample;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.mvc.method.annotation.MvcUriComponentsBuilder;
import org.springframework.web.util.UriComponentsBuilder;

//import org.springframework.web.servlet.support.ServletUriComponentsBuilder;

@Controller
@RequestMapping("/sample")
public class SampleController {

    @RequestMapping
    @ResponseBody
    public String index() {
        // UriComponentsBuilder builder = ServletUriComponentsBuilder.fromCurrentContextPath();

        UriComponentsBuilder builder = MvcUriComponentsBuilder
            .fromMethodName(SampleController.class, "test");

        return builder.build().toString();
    }

    @RequestMapping("/test")
    public void test() {
    }
}

単純に「ServletContextから作用するパスを使いたいならServletUriComponentsBuilder」、「コントローラー・メソッドなどから生成されるパス等を使いたいならMvcUriComponentsBuilder」ってとこか。今回突っ込んでないけど、UriComponentsBuilderのfromUriStringを使うことでURI Template的な仕様を持ったURI生成等も利用することが出来る模様

んまぁここらへんはこんくらいで

gradle-android-toolkitでライブラリプロジェクト ProgressFragment