수색…


소개

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


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow