면책 조항 :이 질문에 대한 답변을 철저히 조사했지만 예, 다른 질문 : https://stackoverflow.com/questions/10315728/how-to-send-parameters-as-formparam-to-webservice을 찾았습니다. 하지만 우선, 자바에 대해 묻는 중, 자바에 대해 묻는 질문입니다. 둘째, 어쨌든 대답이 없습니다. 당신은 단순히 URL에 변수 이름/값 쌍을 추가하고 내에서 서버를 공격하는 데 사용할 수 있도록 질문에 ... @GET
서비스로 @QueryParam
의를 통과@FormParam을 다른 메소드의 RESTful 서비스에 전달하려면 어떻게해야합니까?
은 매우 간단합니다 프로그램. @FormParam
으로도이를 수행 할 수 있습니까? 예를 들어
, 이제 나는 다음과 같은 RESTful 서비스가 있다고 가정 해 봅시다 :
@POST
@Produces("application/xml")
@Path("/processInfo")
public String processInfo(@FormParam("userId") String userId,
@FormParam("deviceId") String deviceId,
@FormParam("comments") String comments) {
/*
* Process stuff and return
*/
}
을 ... 그리고 이제 나는이 같은 내 프로그램에 다른 곳에서 다른 방법이 있다고 가정 해 봅시다 :
public void updateValues(String comments) {
String userId = getUserId();
String deviceId = getDeviceId();
/*
* Send the information to the /processInfo service
*/
}
방법 두 번째 방법에서 주석 처리 된 작업을 수행 할 수 있습니까?
참고 : 이러한 메서드는 동일한 클래스 또는 패키지에 있지 않은 것으로 가정합니다. 또한 RESTful 서비스가 다른 서버에서 호스팅되고 있다고 가정합니다. 따라서 은 메소드에 액세스하고 값을 RESTful 방식으로 전달해야합니다.
도움 주셔서 감사합니다.
당신은 이런 형태의 매개 변수를 전달할 수 있습니다, 사용 com.sun.jersey.api.representation.Form는 다음과 같다. 서식 f = 새 양식(); f.add ("userId", "foo"); f.add ("deviceId", "bar"); f.add ("comments", "Device"); // 유창한 인터페이스 service.path ("processInfo"). accept (MediaType.APPLICATION_XML) .post (String.class, f); –
그게 좋습니다! 그 내용을 답에 추가하고 마지막 줄을 좀 더 설명해 주시겠습니까? 이 중 하나 :'service.path ("processInfo"). accept (MediaType.APPLICATION_XML) .post (String.class, f)'그러면 받아 들일 것입니다. :) – asteri
특히'path()'를 호출하는'service' 객체는 무엇입니까? – asteri