Go to new doc!

+49 228 5552576-0


info@predic8.com

api

Description

The APIProxy extends the serviceProxy with API related functions like OpenAPI support.

Can be used in

spring:beans, bean and router

Syntax

<api name="string"
	 port="integer"
	 method="[*,POST,PUT,GET,DELETE,TRACE,OPTIONS]"
	 host="[string,*]"
	 ip="[ip]">
	<path />?
	<ssl />?
	<request>
		[interceptors]*
	</request>
	[interceptors]*
	<response>
		[interceptors]*
	</response>
	<localhost />?
	<target />?
</serviceProxy>
Listing 1: Syntax

Sample

<api port="2000">
    <target url="https://api.predic8.de"/>
</api>
Listing 2: Simple forwarding API
<api port="2000">
    <openapi location="fruitshop-api.yml"/>
</api>
Listing 3: API from OpenAPI description

Attributes

Name Required Default Description Example
blockRequest false false legacy attribute for usage by Membrane Monitor
blockResponse false false legacy attribute for usage by Membrane Monitor
externalHostname false -
host false not set

A space separated list of hostnames. If set, Membrane will only consider this rule, if the "Host" header of incoming HTTP requests matches one of the hostnames.

The asterisk '*' can be used for basic globbing (to match any number, including zero, characters).

predic8.de *.predic8.de
ip false not set If present, binds the port only on the specified IP. Useful for hosts with multiple IP addresses. 127.0.0.1
method false * If set, Membrane will only consider this rule, if the method (GET, PUT, POST, DELETE, etc.) header of incoming HTTP requests matches. The asterisk '*' matches any method. GET
name false By default, a name will be automatically generated from the target host, port, etc. The name as shown in the Admin Console.
port false 80 The port Membrane listens on for incoming connections. 8080

Child Elements

Position Cardinality Description Element
1 0..* Deploys an API from an OpenAPI document. openapi
2 0..1 If set, Membrane will only consider this rule, if the path of incoming HTTP requests matches. {@link Path} supports starts-with and regex matching. If used in a {@link SOAPProxy}, this causes path rewriting of SOAP requests and in the WSDL to automatically be configured. path
3 0..1 Configures the usage of inbound SSL (HTTPS). ssl or custom elements
4 0..* accessControl, accountRegistration, acmeHttpChallenge, adminConsole, analyser, apiKeyChecker, apiManagement, authHead2Body, balancer, basicAuthentication, beautifier, cache, clamav, clusterNotification, counter, dispatching, exchangeStore, formValidation, gatekeeper, graphQLProtection, groovy, groovyTemplate, headerFilter, http2xml, httpClient, if, index, interceptor, javascript, json2Xml, jsonPointerExtractor, jsonProtection, jwtAuth, kubernetesValidation, limit, log, logContext, login, methodOverride, ntlm, oauth2PermissionChecker, oauth2Resource, oauth2Resource2, oauth2authserver, prometheus, rateLimiter, regExReplacer, request, response, rest2Soap, return, reverseProxying, rewriter, routerIpResolver, ruleMatching, setHeader, shutdown, soap2Rest, soapOperationExtractor, soapStackTraceFilter, spdy, statisticsCSV, statisticsJDBC, statisticsProvider, stompClient, swaggerApiKeyRequirer, swaggerRewriter, switch, tcp, template, testService, throttle, tokenValidator, transform, urlNormalizer, userFeature, validator, wadlRewriter, webServer, webServiceExplorer, webSocket, wsdlPublisher, wsdlRewriter, xenAuthentication, xml2Json, xmlContentFilter, xmlProtection, xpathExtractor or custom elements
5 0..1 target