id password userId user_idgetLoginData// ν μ€ μ£ΌμμΌλ‘ ν΅μΌcamelCase
λ€μ¬μ°κΈ° = λμ΄μ°κΈ° 4λ²
μμ λ³μ μ¬μ©μ΄ μλ£νμ 첫 μνλ²³λΆν° μμ
for (**int** i=0; i<10; i++) β λ€μμ μμ λ³μκ° νμνλ€λ©΄ j, k, l, m, n μμΌλ‘ μ¬μ©Postman
[λΆλ₯] κΈ°λ₯ μΌλ‘ μ λͺ© μμ±Return νμ
baseresponse (μΆμ² π§ββοΈλμ°λ)
package com.runstory.api.response;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
@Getter
@RequiredArgsConstructor
public class BaseResponse<T> {
private final static int SUCCESS = 200;
private final static int NOT_FOUND = 400;
private final static int FAILED = 500;
private final static String SUCCESS_MESSAGE = "SUCCESS";
private final static String NOT_FOUND_MESSAGE = "NOT FOUND";
private final static String FAILED_MESSAGE = "μλ²μμ μ€λ₯κ° λ°μνμμ΅λλ€.";
private final static String INVALID_ACCESS_TOKEN = "μ ν¨νμ§ μμ access token.";
private final static String INVALID_REFRESH_TOKEN = "μ ν¨νμ§ μμ refresh token.";
private final static String NOT_EXPIRED_TOKEN_YET = "λ§λ£λμ§ μμ ν ν° μ
λλ€";
private final int statusCode;
private final String message;
private final T data;
public static <T> BaseResponse<T> success(T body) {
return new BaseResponse(SUCCESS, SUCCESS_MESSAGE, body);
}
public static <T> BaseResponse<T> customSuccess(int statusCode, String message, T body) {
return new BaseResponse(statusCode, message, body);
}
public static <T> BaseResponse<T> fail() {
return new BaseResponse(FAILED, FAILED_MESSAGE, null);
}
public static <T> BaseResponse<T> invalidAccessToken() {
return new BaseResponse(FAILED, INVALID_ACCESS_TOKEN, null);
}
public static <T> BaseResponse<T> invalidRefreshToken() {
return new BaseResponse(FAILED, INVALID_REFRESH_TOKEN, null);
}
public static <T> BaseResponse<T> notExpiredTokenYet() {
return new BaseResponse(FAILED, NOT_EXPIRED_TOKEN_YET, null);
}
}
Controller
μμ (μΆμ² π§ββοΈλμ°λ)
@ApiOperation(value = "ν΄μνκ·Έ μ‘°ν", notes = "μ 체 ν΄μνκ·Έλ₯Ό μ‘°νν©λλ€.")
@GetMapping("/hashtag")
public BaseResponse<?> getHashtag(){
List<HashtagDto> hashtags = feedService.getHashtags();
return BaseResponse.success(hashtags);
}
Service / Repository
λ©μλλ§λ€ μ£Όμ μμ±
μμ
/**
* 건κ°κΈ°λ₯μν μ 보 κ²μ κ²°κ³Ό μ‘°ννκΈ°
* @param range ν€μλλ₯Ό μ‘°νν κ²μ λ²μ
* @param keyword κ²μμ΄
* @return
* **/
public ResponseEntity<?> searchFood(String range, String keyword) {
}