1
我有一個正在工作的webservice,如下所示,它將返回JSON格式的double值,例如現在{"PMC":17.34}
從表示中獲取JSON並返回字符串值
@Override
@Post("JSON")
public Representation post(Representation entity) throws ResourceException
{
JsonObjectBuilder response = Json.createObjectBuilder();
try {
String json = entity.getText(); // Get JSON input from client
Map<String, Object> map = JsonUtils.toMap(json); // Convert input into Map
double result = matrix.calculatePMC(map); // Calculate PMC value
response.add("PMC", result);
} catch (IOException e) {
LOGGER.error(this.getClass() + " - IOException - " + e);
getResponse().setStatus(Status.SERVER_ERROR_INTERNAL);
}
return new StringRepresentation(response.build().toString());
}
,我想改變程序只返回的雙重價值,即17.34
,所以我修改我的程序如下:
@Post
public double post(Response response)
{
double result = 0;
try {
String json = response.getEntity().getText(); //Get JSON input from client
Map<String, Object> map = JsonUtils.toMap(json); // Convert input into Map
result = matrix.calculatePMC(map); // Calculate PMC value
} catch (IOException e) {
LOGGER.error(this.getClass() + " - IOException - " + e);
getResponse().setStatus(Status.SERVER_ERROR_INTERNAL);
}
return result;
}
當我運行此我得到一個415 Unsupported Media Type
錯誤。我錯過了什麼?
請改變'@Post公共雙崗(響應響應)''來@Post(「JSON」)公共雙postImpl(JSON字符串)',並告訴我們你得到了什麼。 –
感謝@AbhishekOza爲我指出了正確的方向! – Maruli