2011-09-19 56 views
1

是否有另一種方法來獲取對請求的身體的引用,而不使用帶註釋的方法?我使用的是GAE + Spring,每次我在我的控制器方法的簽名中使用@RequestBody時,服務器返回415 Unsupported Media Type。我想要做的就是在Post方法上閱讀JSON encoded message。謝謝。@RequestBody的替代方案

+0

什麼?最有可能需要調整消息轉換器。 – chrislovecnm

+0

嘿,我已經嘗試過,但它沒有區別,謝謝。 – mobilekid

+0

什麼是GAE發送媒體類型爲?我知道有時可能會調整標題,您可能需要執行以下操作並記錄媒體類型入站。 – chrislovecnm

回答

1

您可以帶上參數HttpServletRequest,並從那裏使用getInputStream()讀取ServletInputStream。該流將包含請求的主體。

@Controller 
public class MyController { 
    @RequestMapping("/test") 
    public String aTest(HttpServletRequest request) { 
     InputStream body = request.getInputStream(); 
     //process request body 
     return myReturnVal; 
    } 
} 
0

試試這個,在RequestMapping配置頭接受應用程序/ JSON並確保配置傑克遜的消息轉換爲這種類型有關媒體類型固定在正確的類型