-1

別のアプリケーションに接続する必要がある 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"
            }
        })
    }

}
4

1 に答える 1