Java Enum 문제 풀어보기2
다음 http 처리하는 HttpStatus 열거형 만들어보기
HTTP 상태 코드 종류
- OK
- code: 200
- message: "OK"
- BAD
- code: 400
- message: "Bad Request"
- NOT_FOUND
- code: 404
- message: "Not Found"
- INTERNAL_SERVER_ERROR
- code: 500
- message: "Internal Server Error"
문제 풀이
참고로 http 코드는 정상 응답을 200으로 준다. 요청을 잘못보냈다면 400을 건네주고 없는 페이지는 404 를 건넨다. 또는 서버에 문제를 제대로 처리 못할 시 500 코드를 반환한다.
HttpStatus.class
public enum HttpStatus {
OK(200, "OK"),
BAD(400, "Bad Request"),
NOT_FOUND(404, "Not Found"),
INTERNAL_SERVER_ERROR(500, "Internal Server Error"),;
private final int code;
private final String message;
HttpStatus(int code, String message) {
this.code = code;
this.message = message;
}
public int getCode() {
return code;
}
public String getMessage() {
return message;
}
public boolean isSuccess() {
return code >= 200 && code < 300;
}
}
Main.class
public class Main {
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
System.out.print("HTTP Code: ");
int inCode = sc.nextInt();
sc.nextLine();
HttpStatus http = HttpStatus.findByCode(inCode);
if (http == null) {
System.out.println("잘못된 코드입니다.");
} else {
System.out.println(http.getCode() + " " + http.getMessage());
System.out.println("Success? " + http.isSuccess());
}
}
}
200 입력
HTTP Code:
200
200 OK
Success? true
400 입력
HTTP Code: 400
400 Bad Request
Success? false
500 입력
HTTP Code: 500
500 Internal Server Error
Success? false