2016-12-19 1 views
0

가 나는 다음과 같은 코드를 가지고 싶습니다 POST 방법 서명에 매개 변수를 여러 "관련 비 요청"저지 -

@POST 
@Path("path") 
@Consumes(MediaType.TEXT_PLAIN) 
@Produces(MediaType.TEXT_PLAIN) 
public String doSomething(String body, CustomObject o) { 
    return o.getText(); 
} 

간단히 말하자면, 문자열 요청 본문 소요 POST 방법 (첫 번째 인수에 매핑) 매개 변수의 CustomObject를 기반으로 문자열 응답으로 응답합니다. 맞춤 개체 값은 ValueFactoryProvider을 통해 제공됩니다. 기본적으로 값은 필터에 채워집니다.

java.lang.IllegalStateException: The resource configuration 
is not modifiable in this context. 

당신이 올바른 방향으로 날 포인트 : 내가 얻을 -

는 그러나, 나는 자원을 호출 할 수 없습니다 무엇입니까? 고맙습니다.

참고 :이 유형의 코드는 현재 Spring 구현 (Spring은 모든 것을 잘 맵핑)에 사용되며, 현재 Java EE 버전에서 작업 중이며 비슷한 API를 원합니다.

+1

그래서 ValueFactoryProvider에서 필터 내부에 채워지는 값을 추출하려고합니까? –

+0

... 예, 당신은 도처에 있습니다! :) 내가 무엇을하고 있는지 빨리 알려주도록하겠습니다. 저는 모바일 뱅킹을위한 오픈 소스 뱅킹 그레이드 보안 인 PowerAuth 2.0을 연구 중입니다. 통합을 단순화하기 위해 통합 라이브러리를 제공하고 있습니다. 우리는 이미 Spring 용으로 만들었습니다. 이제는 일반 Java EE 용으로 구축하고 있습니다. 목표는 개발자가 기존 REST 리소스에 주석을 달고 미리 채워진 인증 데이터가있는 사용자 정의 매개 변수를 추가 할 수있는 라이브러리를 갖는 것입니다. –

+0

이식성을 높이려면 ValueFactoryProvider를 사용하고 싶지 않습니다. 그것은 저지 특유의 것입니다. 이제는 생각해 보았습니다.이 유스 케이스를 처리 할 표준 JAX-RS 방법은 없다고 생각합니다. Jersey를 사용하면이 문제를 어떻게 처리 할 수 ​​있는지 정확하게 알 수 있습니다. 그러나 Jersey 관련 솔루션이 필요한지 확실하지 않습니다. JAX-RS 구현으로 RESTEasy를 사용하는 Wildfly를 사용하고자한다면 어떻게 될까요? –

답변

0
여기에서

: https://stackoverflow.com/a/22263604/912829

가능한 원인 중 하나는 해당 URL 호출에 대한 두 개 이상의 적용 매핑 을 가지고있다.

@Path 다른 곳 ("/ {하여 myParam}")

그리고 :

@Path ("/ {differentParam}")

지금은 뉴저지가 예를 들어

어떤 방법이 실제로는 이라고 불리는 지 알 수 없으며이 오류가 발생합니다.

+0

아니요, 그렇지 않습니다. 'CustomObject' 매개 변수를 제거하고 정적 문자열을 반환하면 모든 것이 작동합니다. 문제는 두 번째 매개 변수와 관련이 있습니다. –