2017-05-08 2 views
0

현재 Marklogic spring boot 데모를 사용 중입니다. 지금까지 인덱스, 패싯, 프론트 엔드 로직 등을 추가 할 수있었습니다.Marklogic Spring Boot - Rest Endpoint 설치

지금 당장은 일부 의미 논리를 나머지 끝점에 겹치려고합니다.

쿼리 콘솔에 간단한 쿼리를 작성하고 ml-gradlebootrun에 의해 배포되도록 src/main/ext 폴더에 추가하려고했습니다.

지금입니다. 이 파일은 test-modules 데이터베이스에 배포하고있다 얻을 것이다 볼 수 번 (나는 또한 rest-api라는 이름의 폴더를 추가했습니다. URI /ext/my-endpoint에서 탐색기에서 볼 수 있지만 그 단지의 상단에 /ext/rest-api/my-endpoint

에 추가 저장 엔드 포인트 나는 그것이 = "http://marklogic.com/rest-api/resource/my-endpoint" `모듈 네임 스페이스 내선으로 선언있다;. 나는 그것이 존재하지 않는 URL이 http://localhost:8090/LATEST/resources/my-endpoint?

그것은 나에게 말한다에서 생활해야한다로 이동 그러나

모듈 데이터베이스에서 볼 수 있지만 HTTP에서는 사용할 수 없습니다. 쿼리는 쿼리 콘솔에서 작동 (오히려 사소한, 그리고 쿼리 JSON - 부동산 - 단어의 쿼리는)

내 질문은 : 내가 제대로에 marklogic 스프링 부팅 프레임 워크를 업데이트 할 수있는 방법

나머지 엔드 포인트를 올바르게 전개하십시오.

답변

1

그래서 나는 그것을 알아 냈습니다.

수동으로 파일을 생성하면 배포 워크 플로가 제대로 등록되지 않습니다.

대신 나는 서비스라는 새로운 폴더를 생성, 및 서면을 통해 다음 코드를 가질 수있는, 나를 위해 엔드 포인트를 작성합니다 ml-gradle

gradle mlCreateResource -PresourceName=my_endpoint

이를 사용하여 리소스를 만들 수 있습니다.

아직 어떤 gradle이 특수 작업을하고 있는지 확실하지 않아서 수동으로 수행하는 올바른 방법은 무엇인지 알 수 있지만 적어도 작동합니다.

+1

네,'src/main/ml-modules/services /'에 넣어야합니다. 그 폴더의 내용은'src/main/ml-modules/ext /'에 있습니다. REST 확장은 REST API에 대해 특별한 http 호출로 설치해야하기 때문입니다 : http://docs.marklogic.com/REST/PUT/v1/config/resources/[name] – grtjn

+1

ml- gradle은 Client REST API가 지원하는 여러 종류의 모듈을로드합니다. - https://github.com/marklogic-community/ml-gradle/wiki/How-modules-are-loaded – rjrudin