2
我試圖在後端使用Netty構建REST服務。我需要能夠將原始JSON發佈到任何鍵/值參數之外的服務。 Content-type = applicaiton/json不構成多部分。Netty HTTPRequest未捕獲發佈JSOn
我能夠獲得服務的初始部分來接收請求,但是當我將MessageEvent內容轉換爲HTTPRequest時,它不再有任何與之關聯的提出的數據。這讓我無法獲取JSON數據。
爲了訪問發佈的JSON,我需要使用不同的過程從MessageEvent中提取數據嗎?
這是問題的片段。
@Override
public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception {
System.out.println("The message was received");
HttpRequest request = (HttpRequest) e.getMessage();
if (request.getMethod() != POST) {
sendError(ctx, METHOD_NOT_ALLOWED);
return;
}
// Validate that we have the correct URI and if so, then parse the incoming data.
final String path = sanitizeUri(request.getUri());
decoder = new HttpPostRequestDecoder(request);
System.out.println("We have the decoder for the request");
List<InterfaceHttpData> datas = decoder.getBodyHttpDatas();
for (InterfaceHttpData data : datas){
System.out.println(data.toString());
}
我在想什麼導致這種情況?我需要使用ChunkedWrite部分嗎?如果這是基本的,我是Netty的一個小白,所以請原諒我。我發現很多關於從Netty內部向其他URL發佈原始JSON的其他問題,但沒有收到它。
探聽鏈路是打破 –
工作[鏈接](https://github.com/netty/netty/blob/master/example/src/main/java/io/netty/example/http/snoop/ HttpSnoopServerHandler.java)到snoop示例 –