別のアプリケーションに接続する必要がある RestBuilder を含むコードがあります。ターゲット endPoint には、属性を持つ署名にオブジェクトがあります。問題は、リクエストが 404 を返すことです。これを解決するにはどうすればよいですか? x-www-form-urlencoded を使用してみました (動作しません)
リクエスト方法:
RestResponse restResponse;
String parameters = '{"qtdThreads":3,"channel":"http://localhost:8081/application2"}'
try {
restResponse = new RestBuilder().post("http://localhost:8080/application/endPoint", {
accept("application/json")
contentType "application/json; utf-8"
body(parameters.getBytes("UTF-8"))
connectTimeout: 1000
})
} catch (Exception e) {
e.printStackTrace();
} finally {
return restResponse;
}
ターゲット エンドポイント:
Object endPoint(ObjectCommand command) {
render(status: HttpStatus.OK)
}
署名に使用されるオブジェクト
import grails.validation.Validateable
@Validateable
class ObjectCommand {
URL channel
Integer qtdThreads
static constraints = {
qtdThreads(validator: { Integer val ->
if (!val || val <= 0) {
return "message1"
}
})
channel(validator: { URL val ->
if (!val) {
return "message2"
}
})
}
}