2017-09-28 62 views
2

我創建了一個Jersey POST API,即將text/plain作爲正文。我已經在本地嘗試了這個API,並且它按預期工作,但是在將它部署到服務器後,我得到415 Unsupported Media Type。具有字符串正文的Jersey POST API在服務器上無法正常工作(但在本地工作)

這是代碼:

@POST 
@Path("/dodo") 
@Consumes({MediaType.TEXT_PLAIN}) 
@Produces({MediaType.APPLICATION_JSON}) 
public Response Dodo(String input){ 
    return Response.status(200).entity(new JerseyDto(input,12)).build(); 
} 

這是錯誤我在日誌中看到:

com.sun.jersey.spi.container.ContainerRequest getEntity 
SEVERE: A message body reader for Java class java.lang.String, and Java type class java.lang.String, and MIME media type text/plain was not found. 
The registered message body readers compatible with the MIME media type are: 
*/* -> 
    com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider 

有什麼想法?

回答

0

那麼,我發現問題是什麼。我們使用shade插件來創建一個「胖」jar(包括所有的依賴),並且在使用這個插件時澤西存在一個問題。這就是爲什麼當它在本地運行時沒問題的原因。你可以閱讀更多關於這個問題和解決方案here

相關問題