2017-11-30 1 views
1

요즘 나는 오래된 웹 응용 프로그램을 수정하고 종종 해결책을 찾을 수없는 동일한 문제를 발견하게됩니다.크로스 언어 인터페이스 - 존재합니까?

자바 스크립트 애플리케이션은 종종 다른 출처에서 데이터를 가져옵니다. 제 경우에는 그것은 PHP입니다. 이러한 자바 애플리케이션은 특정 방식으로 데이터를 제공 할 것으로 기대하며 특정 방식으로 데이터를 얻지 못하면 오류가 발생하고 애플리케이션이 중단됩니다.

예를 들어 데이터를 제공하는 PHP 함수를 편집하기로 결정한 사람은 현대 IDE에서 잘못된 방식으로 데이터가 반환 될 수 있다는 힌트를 얻지 못하기 때문에 디버그하기가 어려울 수 있습니다.

PHP와 자바 스크립트 간의 인터페이스를 만들 수있는 방법이 있습니까? 예를 들어 둘 다 준수해야 할 필요가 있습니까? php 인터페이스처럼.

또한 typescript를 사용할 때 자바 스크립트 응용 프로그램 용 인터페이스를 만들 수 있다는 것도 알고 있습니다. 그리고 당신은 php와 같은 종류의 인터페이스를 만들 수 있습니다.

+2

http://json-schema.org/를 사용하여 예상 출력을 지정한 다음 스크립트가 예상 출력을 실제로 생성하는지 확인하기위한 몇 가지 테스트를 수행 할 수 있습니다. – Sirko

+1

이것은 흥미로운 질문입니다. 저의 첫 번째 생각은 Swagger/OpenAPI를 사용하여 API를 지정하고 정적 유형 정의 인'tcomb' 또는 뭔가를 생성하는 것이 었습니다. 그러나 쉽게이 작업을 수행 할 수있는 도구가 있는지 여부는 확실하지 않습니다. –

답변

0

이, 당신이 여기에서 찾고있는 것은 형식으로 사용자의 입력과 출력의을 지정하는 스키마입니다하지 않습니다 같은데요; 및 URL, 메소드 이름의 형태에서 행동을 지정하는 넓은 계약, 등 XML에 대한

는 스키마는 대부분 XML 스키마 또는 RelaxNG를 사용하여 지정됩니다; JSON의 경우 JSON 스키마와 기타 요소가있을 수 있습니다.

더 넓은 계약은 API의 스타일에 따라 많이 달라질 것입니다. WSDL 파일은 일반적으로 SOAP API (XML-over-HTTP의 특정 규칙)를 정의하는 데 사용되며, Swagger 및 OpenAPI와 같은 도구는 대개 JSON을 사용하여 REST 스타일의 API를 지정할 수 있습니다.

이들 모두는 구현이 계약서 및 문서 등을 충족시키는 테스트를 자동으로 생성하는 도구로 제공 될 수 있습니다. 이러한 테스트 및 문서화는 실제로 목표입니다. AJAX 호출이 많은 레거시 웹 사이트 일관성있는 API를 구성하지 않는 가장 좋은 출발점은 일련의 단위 테스트일지도 모릅니다.이 테스트는 변경 한 후에 동일한 입력이 동일한 출력을 제공함을 확인할 수 있습니다.

0

유일한 점은 SOAP입니다. 여기서는 WSDL 문서가 SOAP 함수 (매개 변수 및 데이터 유형 포함) 및 응답에 대한 정보를 제공합니다. 그것은 잘 알려져 있으며 XML이기 때문에 언어에 독립적입니다.

IDE 지원 방법은 잘 모르겠지만 어느 정도 시간 (대략 2001 이상)이 지나면 표준이 생겨서 더 쉽게 사용할 수있는 플러그인이 있어야한다고 생각합니다.

서버를 제어하는 ​​경우 Node에서 PHP 응용 프로그램을 실행할 수 있으므로 Javascript/Typescript 응용 프로그램이 노드 서버와 직접 통신하고 Typescript 유형 정의를 사용할 수 있습니다. 그러나 나는 그 옵션 :

다른 사람이 암시 한 것처럼
관련 문제