jax-rs를 사용하여 get 메소드의 입력 XML을 읽고 싶습니다. 이상하게 들리지만 이것이 사용자 요구 사항입니다. 사용자가 REST GET 메소드의 본문을 보내는 경우 사용자 400 (잘못된 요청)을 표시하려고합니다. 따라서 사용자가 본문을 보내는 경우 잘못된 요청을 보내려면 먼저 본문을 읽어야합니다. 작성된 코드에서Jersey (REST)를 사용하여 GET 요청에 대한 입력 XML을 읽는 방법은 무엇입니까?
추출물 :
@GET
@Path("{ids}")
@Consumes({ MediaType.APPLICATION_XML, MediaType.TEXT_XML, "multipart/form-data", "application/x-www-form-urlencoded" })
@Produces({ MediaType.APPLICATION_XML, MediaType.TEXT_XML })
public Response read(InputStream inputStream, @PathParam("ids") String Ids, @Context HttpHeaders headers,
@Context HttpServletRequest httpServletRequest, @Context HttpServletResponse httpServletResponse,
@Context UriInfo uriInfo)
{.........//Code here
그래서 내가 좋아하는 inputStream을 읽을 때 : 요청이 포함되어 있는지 여부를
//Some Code here
try
{
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
while ((line = reader.readLine()) != null)
sb.append(line).append("\n");
}
catch (Exception e)
{
//exception handling
}
//Some code here
, 신체 여부, 항상 inputStream을 읽은 후 나에게 빈 반환 .
내 질문에 어떻게 XML 본문이 GET 요청에서 전송되는지 확인할 수 있습니까?
저지가 GET 및 삭제 요청을 위해 본문을 벗기면 분명히 말해 줄 수 있습니까? –
Jersey가 몸체를 벗기지 않고 테스트했습니다. 그러나 자원이 전개 될 때 경고를 발행합니다. 따라서 신체 내용을 읽을 수 있어야합니다. 나는'curl -X GET -v --data-binary @ hello.scala http : // localhost : 8081/webservice /'로 테스트했다. – shabyasachi