webMethods

webMethods

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only

Custom Content-type in webMethods API Gateway 

Mon September 28, 2020 05:24 AM

This article gives an overview on the usage of custom content-type in webMethods API Gateway. Content types are used to define the type of the content. Custom content types can be used to define rules for the payload.  

 

Use Cases:  

Below are sample use cases when custom content type is useful.  

  1. 1. Versioing of APIs – Where different versions of the APIs use different payloads. 

Example 

Content-type = application/vnd.sample.api.v1+json 

Content-type = application/vnd.sample.api.v2+json 

  1. 2. When predefined rules exists as part of Payload 

ExampleContent-Type: application/vnd.bmw.car+json 

 

{ 

"manufactured_year": 2020 

, "color": "blue" 

, "hp": 160 

, "model" "X1" 

, "type": "SUV" 

} 

 

Pre-requisites: 

  1. 1. An active webMethods API Gateway tenant. 

  1. 2. An API hostedon your webMethodsAPI Gateway tenant. 

 

Details:

 An API Provider can configure custom content-types based on how the payloads in the incoming or outgoing requests have to be processed. If the native API consumes a custom content-type, the API Provider can configure a mapping between this custom content-type and a base content-type so that the schema validation, and identification in the policies are performed based on the base type.  

Example:  

Custom content type = application/vnd.mycorp.mydatatype+json 

Base Content Type = application/json 

 

Procedure: 

  1. 1. Login to your webMethods API Gateway tenant 

 

  1. 2. Go to `Administration` . From the `General Tab` Select `Custom Content-Type`. 

  1. 3. Provide the `Content Type` and `Base Type` and `Add`. 

 

 

  1. 4. Now Navigate to API and select an API where you want to add `Custom Content Type`. 

 

  1. `5. Edit` the API and click on `Policies` tab. 

 

  1. 6. Under ` Policies` go to `Request processing` and Click `Validate API Specification`. 

 

 

 

  1. 7. Now from the right window check `Content Types`. Save the API 

 

 

** For example, a native API consumes application/vnd.ford.car+json content-type. The API provider creates an API for this native API and enforces the Validate API Specification policy and the API definition has schema mapping for application/json. When the request reaches API Gateway and as there is no content-type schema mapping for application/vnd.ford.car+json, the schema validation is skipped. In such scenarios, if the API provider creates a custom content-type mapping in the API Gateway UI with the content type as application/vnd.ford.car+json and base type as JSON, then the payload in the incoming request is validated against the application/json schema. 


#API-Portal
#webMethods
#wiki

Statistics
0 Favorited
0 Views
0 Files
0 Shares
0 Downloads