" />
本ページはプロモーションが含まれています。

スポンサーリンク

Spring

SpringBootのControllerの@RequestMappingのURLを定数化して一元管理する

@RequestMapping/@GetMapping/@PostMappingもURLは一元管理

static importを使うのがポイントのようです。

定数ファイル

package com.example.sampleprojectapi.constants;

/**
 * APIのパスを定義する.
 */
public final class Urls {
    public static final String USERS = "/api/users";
}

こちらは普通の定数クラスです。

コントローラ

この要領で。

package com.example.sampleprojectapi.controller.mst;

import com.example.sampleprojectapi.service.mst.UsersService;
import com.example.sampleprojectapi.service.mst.dto.UserDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

import static com.example.sampleprojectapi.constants.Urls.USERS;

/**
 * ユーザ管理のコントローラ.
 */
@RestController
@RequestMapping(value=USERS)
public class UsersController {

    @Autowired
    UsersService usersService;

    @GetMapping
    public List<UserDto> get() {
        List<UserDto> users = usersService.findUsers();
        return users;
    };

@RequestMappingに限らず、アノテーションに渡す引数を定数化できるとなると、他にも使えそうですね。

スポンサーリンク

-Spring