첫 번째 Hyperlambda 끝점 수동 생성

2783 단어 tutorialsqlwebdev
이것은 우리가 실제로 Hyperlambda를 직접 작성하기 시작하는 시리즈의 첫 번째 기사입니다. 이 문서에서는 사용자가 이미 에서 살펴본 부품에 대한 실습을 수행했다고 가정합니다. 해당 부분을 따르지 않은 경우 돌아가서 해당 기사를 읽고 나중에 다시 오십시오. 이 기사는 또한 아래에서 찾을 수 있는 YouTube 비디오와 함께 제공되며, 직접 작업하기 전에 내가 하는 것을 보고 싶다면 모든 과정을 안내합니다.



SQL



Magic은 관계형 데이터베이스 시스템에 중점을 두고 있으며 Magic은 이러한 RDB 시스템에 대한 HTTP 끝점을 훨씬 쉽게 생성합니다. RDB 시스템은 데이터베이스에서 데이터를 추출하는 데 사용하는 언어인 "구조적 쿼리 언어"를 의미하는 SQL에 의해 제어됩니다. 아래에서 일부 SQL을 설명하기 위해 Chinook DB 플러그인과 함께 제공되는 예제 SQL 스크립트 중 하나를 로드했습니다.



우리가 원하는 것은 이 SQL을 Hyperlambda HTTP 엔드포인트 내부에 래핑하여 HTTP 연결을 통해 데이터를 검색할 수 있도록 하고 나중에 Angular, React, Vue 또는 빠른. 위의 비디오에서 설명한 것처럼 "tutorials101"안에 "test1.get.hl"파일을 만들고 다음 코드를 파일에 넣습니다.

sqlite.connect:chinook

   sqlite.select:@"select distinct c.Email, c.FirstName, c.LastName, g.name
  from Customer c
    inner join Invoice i on c.CustomerId = i.CustomerId
    inner join InvoiceLine ii on i.InvoiceId = ii.InvoiceId
    inner join Track t ON ii.TrackId = t.TrackId
    inner join Genre g ON t.GenreId = g.GenreId
  where g.Name = ""Rock""
  order by c.Email"
   return:x:-/*


위 코드의 첫 번째 줄은 Chinook 데이터베이스에 연결합니다. 코드의 두 번째 줄은 SQL 문과 일치하는 모든 레코드를 선택하도록 Hyperlambda에 지시합니다. 이는 데이터베이스의 모든 고객이 락을 듣고 있음을 의미합니다. 코드의 세 번째 줄은 HTTP 연결을 통해 선택한 레코드를 반환하고 프로세스에서 결과를 JSON으로 변환합니다. 파일을 저장하고(Alt+S) F5를 클릭하면 이미 엔드포인트를 호출하고 작업 결과를 볼 수 있습니다. 아래는 일이 제대로 된 경우 일이 어떻게 보여야 하는지에 대한 스크린샷입니다.



인수



비디오의 마지막 부분에서 [.arguments] 컬렉션을 선언하여 엔드포인트에 유형 인수를 전달하여 SQL을 동적으로 매개변수화할 수 있습니다. 이 시점에서 파일은 다음과 같이 끝납니다.

.arguments
   genre:string

sqlite.connect:chinook

   sqlite.select:@"select distinct c.Email, c.FirstName, c.LastName, g.name
  from Customer c
    inner join Invoice i on c.CustomerId = i.CustomerId
    inner join InvoiceLine ii on i.InvoiceId = ii.InvoiceId
    inner join Track t ON ii.TrackId = t.TrackId
    inner join Genre g ON t.GenreId = g.GenreId
  where g.Name = @genre
  order by c.Email"
      @genre:x:@.arguments/*/genre

   return:x:-/*


Hyperlambda의 위 부분에서 일어나는 일은 기본적으로 Magic이 엔드포인트에 대한 입력 인수를 사용하고 이를 SQL에 동적으로 매개변수로 추가하여 예를 들어 장르를 전달할 수 있도록 합니다.
  • 재즈

  • 이후 기사에서는 엔드포인트를 계속 편집하고 권한 부여, 인증 및 기타 유형의 Hyperlambda 구성을 추가하여 위의 코드를 계속 구축할 것입니다.

    좋은 웹페이지 즐겨찾기