오늘 내가 저지 문서 불구려고 할 때 나는하지 않습니다 (다음 문Jersey를 사용하여 요청시 주석이 달리지 않은 메소드 매개 변수를 보내려면 어떻게해야합니까?
Unlike method parameters that are associated with the extraction of request parameters,
the method parameter associated with the representation being consumed does not require
annotating. A maximum of one such unannotated method parameter may exist since there
may only be a maximum of one such representation sent in a request.
나는 우리가 요청에 이러한 매개 변수를 전송하는 방식에 따라서 매우 명확하지 JAX-RS에 새로운 오전 건너 온) 내가 이해 무엇 위의 진술에서
을 더 잘 이해하기 위해 어떤 구체적인 예를 찾을 수 있습니다, 우리는 우리가 길 원하는 주석 매개 변수를 사용하지 않는 일부는 여기에
@Path("restful")
public class MyResource{
...
@GET
@Produces("application/text")
public String getStringResp(String param){
...
return "some value";
}
....
}
처럼 생각 리소스 방법을 가질 수, 매트릭스, qu ery 또는 다른 params.
이제 클라이언트 측에서 메서드 매개 변수 "param"에 값을 보낼 수 있습니까? "webtarget"또는 "invocationBuilder"에 대해 qeuryparam() 등의 api 메소드를 사용하여 매개 변수에 주석을 달면 요청 매개 변수를 보낼 수 있습니다. 여기에서는 그렇지 않습니다.
이해의 도와주세요. 사전
안녕하세요 Peeskillet, 나는 의심의 여지가 있습니다. 그 값은 요청에서 어떻게 보내질 것인가? 그것이 페이로드의 일부가 될지 그리고 그것이 페이로드의 일부로 보내지는 경우 서버 엔드에서 어떻게 식별되었는지를 알 수 있습니다. 내가 틀렸다면 나를 바로 잡아라. 감사합니다 – HJK
'게시물'을 사용하여'Entity.text (stringData)'로 보내십시오. 그러나 서버 측 리소스 메소드가'@GET'이 아니라'@ POST'를 가지고 있는지 확인해야합니다. 서버와 마찬가지로 모든 데이터를 언 마샬링해야합니다.MessageBodyReader는 내부적으로, 다른 타입을 위해, 그렇게합니다. 기본적으로 매개 변수 유형이'String'이므로 JAX-RS는 데이터 스트림을 String으로 비 정렬화한 다음 MessageBodyReader를 찾아서 메서드에 전달합니다. –
자세한 내용은 [6 장 - 8 장 ] (https://jersey.java.net/documentation/latest/index.html) –