我有一个复杂的API请求需要将JSON数据传递给Ignite ComputeTask,但我似乎只能通过URL查询字符串传递数据,这看起来很尴尬,并且可能有限制。我有两个问题:
ConnectorMessageInterceptor
,但args
参数只是查询字符串中p1
的值。<Set name="requestHeaderSize">BYTES</Set>
在连接器配置中设置jetty配置中的最大GET大小,但这显然不是最佳解决方案。GridJettyRestProtocol
)实际上会覆盖已配置的Handler及其自己的GridJettyRestHandler
,它只接受/ ignite形式的请求?cmd = cmdName&p1 = params&name = taskName。要解决此问题,您可以删除ignite-rest-http lib并滚动自己的jetty实现。如果这似乎太多工作并且不介意有点hacky解决方案,你可以搭载点燃的可选lib结构,并从ignite-rest-http lib中复制文件org.apache.ignite.internal.processors.rest.protocols.http.jetty.GridJettyRestProtocol
,Ignite将在启动时自动获取起来。在GridJettyRestProtocol
交换GridJettyRestHandler
为您自己的接受POST数据的自定义AbstractHandler
。请记住将jetty导入为项目依赖项。application/x-www-form-urlencoded
做POST吗?