あなたはGroovyとhttpbuilderモジュールを使用しているので、あなたは、単にJSON形式の拡張子を持つ完全なリソースパスのURLにHTTP GETかどうかを確認できたがHTTP 200またはHTTPを返す404 HTTP 200はリソースが存在することを意味し、404はノードが存在しないことを意味する。
次に、JCRノードが存在するかどうかを判断する簡単な例を示します。以下のコードは、欠落したノードを作成するものではなく、説明のためだけのものです。
import groovyx.net.http.HTTPBuilder
import groovyx.net.http.HttpResponseException
import static groovyx.net.http.ContentType.JSON
HTTPBuilder local = new HTTPBuilder("http://localhost:4502")
local.auth.basic("<USERNAME>", "<PASSWORD>")
def getStatus = {
resourcePath ->
try {
local.get(
path: resourcePath + ".json",
contentType: JSON
) {
resp, reader ->
return resp.status
}
} catch (HttpResponseException httpResponseException) {
return httpResponseException.statusCode
}
}
def nodePath = '/content/geometrixx-outdoors/en/men'
def httpNodeStatus = getStatus(nodePath);
if (httpNodeStatus == 404) {
println('node : ' + nodePath + ' does not exist. creating node')
// Code to create node
} else if (httpNodeStatus == 200) {
println('node : ' + nodePath + ' exists')
// Node exists
} else {
println('HTTP Status for node : ' + httpNodeStatus)
// handle other response codes
}
ありがとう、私は同じ方法をしました:) – Senthil