Вызов внешнего API с помощью Mule SDK
Я пытаюсь реализовать политику Mule 4.x с помощью Mule SDK. При этом мне нужно вызвать внешний API в реализации операций политики. Результат, возвращаемый ответом внешнего API, будет определять выход политики.
public class MyMulePolicyOperations
{
@MediaType( value = ANY, strict = false )
public void handle(
@Config MyMulePolicyConfiguration configuration,
@Alias( "httpRequestMethod" ) String httpRequestMethod,
CompletionCallback<String, HttpResponse> callback ) throws Exception
{
HttpResponseBuilder httpResponseBuilder = HttpResponse.builder();
String result = // call an external API and extract "result" from the response
if ( result.equals( configuration.getMyConfigValue() ) )
{
httpResponseBuilder.addHeader( "allow_request", "true" );
}
else
{
httpResponseBuilder.addHeader( "allow_request", "false" );
}
Result<String, HttpResponse> result = Result.<String, HttpResponse> builder()
.attributes( httpResponseBuilder.build() )
.build();
callback.success( result );
}
}
Может ли кто-нибудь сказать мне, как я могу реализовать клиент REST с помощью Mule SDK?
1 ответ
Если вы хотите реализовать HTTP-запрос внутри настраиваемого модуля, созданного с помощью Mule SDK, вам необходимо использовать HTTP-клиент, как описано в документации: https://docs.mulesoft.com/mule-sdk/1.1/HTTP-based-connectors
Вы не указали причину или не должны были реализовать запрос внутри настраиваемого модуля. Было бы намного проще просто выполнить HTTP-запрос с помощью HTTP Requester внутри настраиваемой политики.