2014-12-23 1 views
-1

이것은 바보 같은 질문 일 수 있습니다. 나는 Play Framework에서 초보자입니다.재생 프레임 워크 : 서버 측에서 GET 호출

내가 지금

Result someController() { 
    SomeObject obj = new SomeObject(); 
    obj.prop1 = "Something"; 
    obj.prop2 = "Something"; 
    return ok(Json.toJson(obj)); 
} 

아래로 구현됩니다

GET  /getData  someController.getData() 

아래 그리고 컨트롤러로 불린다 하나의 컨트롤러를 가지고, 나는이 방법을 호출하고를 얻을 필요가있는 또 다른 컨트롤러가 응답 본문, obj.prop1의 값입니다.

나는 내가 someController가 보낸 응답의 JSON 개체에 대한 액세스를 얻을 필요가 짧은 말로이

String s = someController().prop1; 

처럼 뭔가 할 필요가있다.

전체 코드는 표시하지 않았지만 의미하는 바를 얻을 수 있습니다.

답변

3

로직을 처리하는 하나의 개인 메소드를 생성하십시오. 컨트롤러를 호출 할 필요가 없습니다. 컨트롤러에서 private 메소드를 호출하십시오.

private SomeObject someMethod(){ 
SomeObject obj = new SomeObject(); 
obj.prop1 = "Something"; 
obj.prop2 = "Something"; 
return obj 
} 

Result someController1(){ 
SomeObject obj = someMethod(); 
} 

Result someController2(){ 
SomeObject obj = someMethod(); 
} 
+0

도움을 주셔서 감사합니다.하지만 그렇게 할 수 없습니다. 또한 내 사이트에 코드 중복을 추가합니다. –

+0

코드 중복 어디서? –

+0

필자는 본질적으로 두 위치에서 동일한 코드를 작성하고 있습니다. 하나는 컨트롤러에서, 하나는 메서드에서 –