Hi,
In APIM 3.0.0 Publisher rest api , we have introduced separate two APIs to
retrieve mediation policy content as files. Each for API specific custom
mediation policy content and for global mediation policy content.
Previously, mediation policy content was in the same Mediation resource as
below.
#-----------------------------------------------------
# The Mediation resource
#-----------------------------------------------------
Mediation:
title: Mediation
required:
- name
- type
- config
properties:
id:
type: string
example: 01234567-0123-0123-0123-012345678901
name:
type: string
example: json_fault.xml
type:
type: string
enum:
- in
- out
- fault
example: in
config:
type: string
example: '<sequence xmlns="http://ws.apache.org/ns/synapse"
name="log_in_message">
<log level="full">
<property name="IN_MESSAGE"
value="IN_MESSAGE_21133232"/>
</log>
</sequence>'
*In APIM 3.0.0* this is changed to,
#-----------------------------------------------------
# The Mediation resource
#-----------------------------------------------------
Mediation:
title: Mediation
required:
- name
- type
properties:
id:
type: string
example: 01234567-0123-0123-0123-012345678901
name:
type: string
example: json_fault.xml
type:
type: string
enum:
- in
- out
- fault
example: in
sourceType:
type: string
enum:
- FILE
- INLINE
** config property has been removed and a new property sourceType is introduced.
sourceType will decide whether the mediation policy content is
received as a file or inline content.
Because we are planing to give an inline editor in the future to edit
the mediation policies withing the publisher portal.
So to get a content of a mediation policy we have introduced below two
rest apis.
###################################################################
# The "Individual API specific mediation sequence content" resource
###################################################################
/apis/{apiId}/mediation-policies/{mediationPolicyId}/content:
#---------------------------------------------------------------
# Retrieve a particular API specific mediation sequence content
#---------------------------------------------------------------
get:
security:
- OAuth2Security:
- apim:api_view
x-examples:
$ref: docs/examples/apis/apis_id_mediationpolicies_id_content_get.yaml
summary: Downloadt an API specific mediation policy
description: |
This operation can be used to download a particular API specific
mediation policy.
parameters:
- $ref: '#/parameters/apiId'
- $ref: '#/parameters/mediationPolicyId'
- $ref: '#/parameters/If-None-Match'
tags:
- API Mediation Policy
responses:
200:
description: |
OK.
Mediation policy returned.
headers:
Content-Type:
description: |
The content type of the body.
type: string
ETag:
description: |
Entity Tag of the response resource.
Used by caches, or in conditional requests (Will be
supported in future).
type: string
Last-Modified:
description: |
Date and time the resource has been modifed the last time.
Used by caches, or in conditional requests (Will be
supported in future).
type: string
304:
description: |
Not Modified.
Empty body because the client has already the latest version
of the requested resource (Will be supported in future).
404:
description: |
Not Found.
Requested file does not exist.
schema:
$ref: '#/definitions/Error'
###################################################################
# The "Individual Global mediation policy content" resource
###################################################################
/mediation-policies/{mediationPolicyId}/content:
#---------------------------------------------------------------
# Retrieve a particular Global mediation sequence content
#---------------------------------------------------------------
get:
security:
- OAuth2Security:
- apim:api_view
summary: Downloadt specific global mediation policy
description: |
This operation can be used to download a particular global
mediation policy.
parameters:
- $ref: '#/parameters/mediationPolicyId'
- $ref: '#/parameters/If-None-Match'
tags:
- Global Mediation Policy
Thanks & Regards,
Ishara Cooray
Associate Technical Lead
Mobile : +9477 262 9512
WSO2, Inc. | http://wso2.com/
Lean . Enterprise . Middleware
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture