Scala/Play framework

Play Framework 2.5. Action을 위한 Results Object

partner_jun 2017. 4. 18. 15:51

Play Framework의 컨트롤러의 함수는 RequestHeader를 입력받아 Result를 반환하는 함수인 Action을 전달받는다. 반환하는 Result는 Spring의 ResponseEntity 클래스의 객체와 마찬가지로 HttpStatus 코드를 담고있는 객체다. Play Framework에서는 Results Object에 구현되어 있는 함수를 이용하거나 직접 Result 객체를 만들 수 있다.


 Results Object에서 자주 사용되는 함수는 아래와 같다.


 Results 함수

Status

내용 

 OK

200

정상

 BadRequest

400 

잘못된 요청 

 Unauthorized

401 

권한이 없음 

 Forbidden

403 

요청 거부됨 

 NotFound

404 

서버에 없는 페이지 

 InternalServerError

500

서버에 문제가 있음 

 NotImplemented

501 

구현되지 않았음 

 Redirect

303

 파라미터로 전달한 URL로 리다이렉트


위 함수들을 이용해 만들어지는 Result 객체에는 추가적인 정보를 위한 withSession, withHeader 등의 함수를 사용할 수 있다.


함수들은 뷰나 JsValue등의 Writeable[T] 객체를 파라미터로 입력받아 Result 객체를 반환한다. 


파라미터를 입력하지 않으면 Results.Status 객체가 반환되는데, Results.Status 객체에는 파일을 전송하는 sendFile, Path를 전달하는 sendPath, response를 특정 크기로 나누어 보내는 chunked등의 함수를 사용 할 수 있다. 공식 문서를 보면 어렵지 않게 이해할 수 있다.