在 WSO2 API 管理器中,有没有办法支持超媒体响应(如 application/vnd.hal+json 或 application/vnd.siren+json)?

In WSO2 API manager, Is there a way to support hypermedia response (like application/vnd.hal+json or application/vnd.siren+json)?

在 WSO2 API 管理器中,有没有办法支持超媒体响应(如 application/vnd.hal+json 或 application/vnd.siren+json) ?

我知道Writing Custom Handlers的概念。所以我假设我可以使用这个概念进行超媒体响应。但问题出在处理程序内部,响应是 SOAP 响应(SOAPBody)。我使用下面的代码片段:

RelayUtils.buildMessage(((Axis2MessageContext)messageContext).getAxis2MessageContext());
SOAPBody body = messageContext.getEnvelope().getBody();

因此很难将 SOAPBody 转换为不同的超媒体响应(hal 或 siren)。

在 WSO2 API 管理器中是否有支持超媒体响应(如 application/vnd.hal+jsonapplication/vnd.siren+json)的好方法?

您可能需要编写自定义消息 builder/formatter 才能实现此目的。有关如何执行此操作的更多详细信息,请参阅 [1、2 和 3]。

[1] https://docs.wso2.com/display/ESB481/Working+with+Message+Builders+and+Formatters

[2] http://charith.wickramaarachchi.org/2010/11/how-to-write-axis2-message-builder.html

[3] https://chamibuddhika.wordpress.com/2011/07/09/writing-a-custom-message-formatter-for-axis2/