grails
REST 자원으로서의 도메인 클래스
수색…
소개
Grails에서 RESTful API를 만드는 가장 쉬운 방법은 도메인 클래스를 REST 리소스로 노출하는 것이다. 이는 grails.rest.Resource 변환을 모든 도메인 클래스에 추가하여 수행 할 수 있습니다.
grails를 사용한 간단한 REST API
import grails.rest.*
@Resource(uri='/books')
class Book {
String title
static constraints = {
title blank:false
}
}
리소스 변환을 추가하고 URI를 지정하기 만하면 도메인 클래스가 자동으로 XML 또는 JSON 형식의 REST 리소스로 사용할 수 있습니다. 변환은 자동으로 필요한 RESTful URL 매핑을 등록하고 BookController라는 컨트롤러를 만듭니다.
BootStrap.groovy에 몇 가지 테스트 데이터를 추가하여 시험해 볼 수 있습니다.
def init = { servletContext ->
new Book(title:"The Stand").save()
new Book(title:"The Shining").save()
}
그런 다음 http://localhost:8080/books/1
URL을 입력하면 다음과 같은 응답이 렌더링됩니다.
<?xml version="1.0" encoding="UTF-8"?>
<book id="1">
<title>The Stand</title>
</book>
URL을 http://localhost:8080/books/1.json
하면 다음과 같은 JSON 응답이 표시됩니다.
{"id":1,"title":"The Stand"}
XML 대신 JSON을 반환하도록 기본값을 변경하려는 경우 자원 변환의 formats 속성을 설정하여이 작업을 수행 할 수 있습니다.
import grails.rest.*
@Resource(uri='/books', formats=['json', 'xml'])
class Book {
...
}
REST 자원에 맵핑
UrlMappings.groovy 파일에 URL 매핑 선언을 유지하려면 리소스 변환의 uri 특성을 제거하고 UrlMappings.groovy
다음 줄을 추가하면됩니다.
"/books"(resources:"book")
더 많은 엔드 포인트를 포함하도록 API를 확장하면 사소한 문제가됩니다.
"/books"(resources:"book") {
"/publisher"(controller:"publisher", method:"GET")
}
위의 예에서는 URI /books/1/publisher.
노출합니다 /books/1/publisher.
Grails 서버에 HTTPS 추가하기
SSL 인증서는 공개 키 암호라고하는 것을 사용합니다. 서버간에 데이터를 안전하게 유지하고 고객의 신뢰를 향상시키기 때문에 Http 대신 Https를 사용해야합니다. grails에서이 옵션을 사용하려면, 우리는 앱을 다르게 실행해야한다. 아래 명령 :
grails run-app -https