Java @Pathvariable, @RequestParam, @Param


📌 1.@RequestParamと@PathVariableとは?


📎 @PathParamと@PathVariableの共通点

@PathParamおよび@PathVariableは、いずれもhttp의 비연결성を克服してデータを伝達する方法の1つであり、uriを介して値をパラメータとして伝達する役割を果たす.

📎 @RequestParam

URL에서 파라미터 값과 이름을 함께 전달하는 방식は、掲示板などでページと検索情報を同時に伝える方式を用いる場合に多く用いられる.主にGET方式の通信に用いられる.
👉 @RequestParam의 4가지 파라미터
  • defaultValue:デフォルト値
  • 、値なし
  • name:uriバインドするパラメータ名
  • value:uriからバインドされた値
  • 要求
  • :
  • 値を渡す必要があるかどうかを設定します.
    👉 @RequestParam 예시
    @RequestParam(value = "page", required = false, defaultValue = "1") int page
    @RequestParam(value = "listSize", defaultValue = "10") int listSize

    📎 @PathVariable


    どのリクエストでも発行できる値は1개にすぎません.主にRestApiで多く使われており,より直感的なコードといえる.
    👉 @PathVariable 예시
    @PathVaiable("userNum") int userNum

    📌 2.@Paramとは?


    📎 @Paramとは?


    データベースで複数の変数を渡す場合は、各変数を区別するために、渡された変数に@Param名を追加します.1つの変数だけを渡す場合は関係ありませんが、多数の変数を渡す場合は必ず書きます.

    📎 @Paramの例:myBatisベース


    👉 mapper.xml
    <delete id="deleteUser">
    	delete
    	from user
    	where email = #{userId} and password = #{password}
    </delete>	
    👉 mapper 인터페이스
    public void deleteUser(@Param("userId") String userId, @Param("password") String password);

    📖 リファレンス

  • https://willbesoon.tistory.com/102
  • https://cheont.tistory.com/21
  • https://elfinlas.github.io/2018/02/18/spring-parameter/