2012-03-10 3 views
3

빠른 디자인 관련 질문 : REST API 용으로 별도의 웹 앱을 사용하는 것이 낫습니다.저지 REST API를 별도의 웹 앱으로 사용

현재 컴퓨터 간 통신에 적합한 저지 REST API가 있습니다. GETS만으로 비교적 간단합니다. 구조는 저지 REST APi 프론트 엔드, db 저장소에 대한 DAO 및 URL 보안 등을 가로 채기위한 봄 보안 기능입니다.

그러나 이제 기존 사용자가 로그인하여 해당 API 사용을 모니터링하고 사용자 계정을 등록하고 자격 증명을 재설정하고 가입 등을 변경할 수있는 웹 응용 프로그램을 만들어야합니다.

둘 다 같은 백 엔드 데이터베이스 등을 사용하기 때문에 두 파일을 결합해야하며 동일한 WAR 파일을 공유해야하는지 궁금합니다. 그러나 하나는 상태 저장이고 다른 하나는 요청 당 인증을 요구하는 비 상태 비 저장 REST API입니다.

1) 별도의 웹 응용 프로그램으로 REST API를 치료 ...

그래서 내가 채택한 방법은 REST API에 클라이언트로 상태 기반 웹 애플리케이션을 치료하고 다음을 수행하는 것입니다.

2) 별도의 웹 앱으로 상태 기반 웹 앱을 만들고 프런트 엔드에 spring mvc 또는 다른 것을 사용하십시오. 영구 백엔드 저장소는 둘 다 동일합니다. 또한 스프링 역할 기반 보안에 의해 관리되는 관리 구성 요소가있을 것입니다.

두 번째 webapp에서는 사용자가 REST API (예 : 링크를 클릭하고 로그인 한 자격 증명을 사용하여 첫 번째 전쟁)에 대한 호출을 할 수 있도록 허용합니다.

이 방법이 합리적으로 보이나요? 즉, REST API 용 WAR 하나와 stateful webapp 용 WAR 별도입니다.

더 많은 REST 경험이있는 사람들의 의견을 보내 주시면 감사하겠습니다.

답변

2

다른 상황에 관계없이 REST API를 별도의 애플리케이션으로 만드는 것이 좋은 방법입니다. 모든 프로젝트에 포함시킬 수있는 비즈니스 논리를 포함하는 공통 항아리가 있어야합니다. 그렇게하면 중복없이 API 및 다른 웹 프로젝트에서 비즈니스 메소드를 호출 할 수 있습니다.

+0

귀하의 의견에 감사드립니다. 명확하게 설명하기 위해 하나의 war 웹 애플리케이션 내에서 여러 개의 jar 파일을 공유하거나 별도의 응용 프로그램에서 공유 할 여러 개의 jar 파일을 공유하도록 권장합니까? 다시 한 번 감사드립니다. – user983022

+0

은 별도의 응용 프로그램에서 jar 파일을 공유합니다. – Bozho

+0

시간을 절약하고 API를 단락시키는 실수를하지 않아도됩니다. API와의 상호 작용을 포함하는 모든 작업은 API를 통해 수행해야합니다. 내 작품에서는 명시 적으로 코드를 공유하지 않음으로써 별도로 유지했습니다. 코드를 공유해야하는 경우 이미없는 API에 추가해야하는 기능이 있음을 의미합니다. – Casey

관련 문제