> 웹 프론트엔드 > JS 튜토리얼 > Injee - 프런트엔드 개발자를 위한 구성이 필요 없는 인스턴트 데이터베이스입니다.

Injee - 프런트엔드 개발자를 위한 구성이 필요 없는 인스턴트 데이터베이스입니다.

王林
풀어 주다: 2024-07-30 13:12:41
원래의
396명이 탐색했습니다.

Injee - The no configuration instant database for frontend developers.

프론트엔드 개발자로서 API가 제공될 때까지 기다리는 것은 고통스러운 일입니다. API가 내장된 기적의 데이터베이스가 있다면 어떨까요? 더 이상 환상이 아닙니다. Injee는 프론트 엔드 개발자를 위해 CRUD API를 사용할 준비가 된 데이터베이스입니다. 이 페이지를 읽으면 인지 사용법과 인지에서 책의 기록을 만드는 방법, 그리고 데이터를 조작하고 검색하는 방법을 배우게 됩니다.

시작하기

자바 설치

이 작업은 한 번만 수행하면 됩니다. 귀하의 컴퓨터에 맞는 Java를 다운로드하려면 https://java.com을 방문하세요. CMD에 설치하거나 터미널에 java --varsion을 입력하면 제대로 작동합니다.

인지 다운로드

인지는 여기를 클릭하시면 다운로드 받으실 수 있습니다. 또는 터미널에서 다음을 사용하세요.

$ wget https://codeberg.org/injee/injee/releases/download/0.2.0/injee-0.2.0.jar
로그인 후 복사

인지 사용

injee jar 파일이 다운로드된 디렉토리로 이동하고 다음을 사용하여 실행합니다.

$ java -jar injee-0.2.0.jar
로그인 후 복사

건강

서버가 실행되고 있는지 확인해 보겠습니다. 우리는 API GET http://localhost:4125/ops/health를 사용합니다.

터미널에서 다음을 시도해 보세요.

$ curl -X GET http://localhost:4125/ops/health
로그인 후 복사

출력은 다음과 같아야 합니다

{
  "health": "ok"
}
로그인 후 복사

책 만들기

그래서 책 저장소를 만들어 보겠습니다. 마술처럼 인지에는 책을 만드는 API POST http://localhost:4125/api/books가 있습니다. 자동차 저장소를 생성하려는 경우 injee에는 API POST http://localhost:4125/api/cars API가 있습니다. 그럼 책을 만들어 인지에 저장해 볼까요:

$ curl -X POST http://localhost:4125/api/books \
       -H "Content-Type: application/json" \
       -d '{"title": "Treasure Island", "author": "Robert Louis Stevenson"}'

로그인 후 복사

출력

{
  "title": "Treasure Island",
  "author": "Robert Louis Stevenson",
  "id": "722e2b57-59cc-4254-85b5-562858264f75"
}

로그인 후 복사

그래서 인지는 책을 저장하고, 인지에게 보낸 모든 값과 id라는 이름의 네이에게 할당된 UUID가 포함된 JSON을 제공합니다.

이제 또 다른 책을 만들어 보겠습니다.

$ curl -X POST http://localhost:4125/api/books \
       -H "Content-Type: application/json" \
       -d '{"title": "Adventures of Huckleberry Finn", "author": "Mark Twain"}'

로그인 후 복사

출력

{
  "title": "Adventures of Huckleberry Finn",
  "author": "Mark Twain",
  "id": "689976e3-082e-4943-9525-a21b47cba325"
}

로그인 후 복사
로그인 후 복사

그리고 효과가 있었습니다!

모든 도서 나열

이제 우리가 사용하는 모든 책을 나열하려면 GET http://localhost:4125/api/books:

$ curl -X GET http://localhost:4125/api/books

로그인 후 복사
로그인 후 복사
로그인 후 복사

출력

[
  {
    "title": "Treasure Island",
    "author": "Robert Louis Stevenson",
    "id": "722e2b57-59cc-4254-85b5-562858264f75"
  },
  {
    "title": "Adventures of Huckleberry Finn",
    "author": "Mark Twain",
    "id": "689976e3-082e-4943-9525-a21b47cba325"
  }
]

로그인 후 복사

저희는 보관해 두었던 멋진 책들을 얻었습니다.

책 가져오기

이제 책 한 권만 가져오겠습니다. 이를 위해 API GET http://localhost:4125/api/books/:id:
를 사용합니다.

$ curl -X GET http://localhost:4125/api/books/689976e3-082e-4943-9525-a21b47cba325

로그인 후 복사

출력

{
  "title": "Adventures of Huckleberry Finn",
  "author": "Mark Twain",
  "id": "689976e3-082e-4943-9525-a21b47cba325"
}

로그인 후 복사
로그인 후 복사

따라서 id GET http://localhost:4125/api/books/ 앞에 추가하면 책 한 권의 세부정보를 얻을 수 있습니다.

책 업데이트

책을 업데이트하려면 http://localhost:4125/api/books/:id와 함께 PUT을 사용하고 그 뒤에 책 매개변수를 사용하세요.

$ curl -X PUT http://localhost:4125/api/books/689976e3-082e-4943-9525-a21b47cba325 \
       -H "Content-Type: application/json" \
       -d '{"title": "Adventures of Tom Sawyer"}'

로그인 후 복사

출력

{
  "title": "Adventures of Tom Sawyer",
  "author": "Mark Twain",
  "id": "689976e3-082e-4943-9525-a21b47cba325"
}

로그인 후 복사

위에서 볼 수 있듯이 책 제목이 Adventures of Huckleberry Finn에서 Adventures of Tom Sawyer로 변경되었습니다.

이제 모든 책을 나열해 보겠습니다.

$ curl -X GET http://localhost:4125/api/books

로그인 후 복사
로그인 후 복사
로그인 후 복사

출력

[
  {
    "title": "Treasure Island",
    "author": "Robert Louis Stevenson",
    "id": "722e2b57-59cc-4254-85b5-562858264f75"
  },
  {
    "title": "Adventures of Tom Sawyer",
    "author": "Mark Twain",
    "id": "689976e3-082e-4943-9525-a21b47cba325"
  }
]

로그인 후 복사

업데이트를 확인합니다.

책 삭제

이제 책을 삭제해 보겠습니다. 이를 위해서는 http://localhost:4125/api/books/:id:
와 함께 DELETE를 사용하세요.

$ curl -X DELETE http://localhost:4125/api/books/689976e3-082e-4943-9525-a21b47cba325

로그인 후 복사

출력

출력이 없습니다. 코드에서 시도하고 응답 개체를 받으면 상태 204를 받아야 합니다.

이제 모든 책을 나열하고 Adventures of Tom Sawyer가 삭제되었는지 확인하겠습니다.

$ curl -X GET http://localhost:4125/api/books

로그인 후 복사
로그인 후 복사
로그인 후 복사

출력

[
  {
    "title": "Treasure Island",
    "author": "Robert Louis Stevenson",
    "id": "722e2b57-59cc-4254-85b5-562858264f75"
  }
]


로그인 후 복사

테이블 나열

이제 사용자를 생성해 보겠습니다.

$ curl -X POST http://localhost:4125/api/users \
       -H "Content-Type: application/json" \
       -d '{"name": "Karthik"}'

로그인 후 복사

출력

{
  "name": "Karthik",
  "created_at": "2024-07-22T11:18:42Z",
  "updated_at": "2024-07-22T11:18:42Z",
  "id": "ad100ab0-7893-421d-9233-353cc8899aa9"
}

로그인 후 복사

이제 우리 DB에는 책과 사용자라는 두 개의 테이블이 있어야 합니다. 다음 API를 사용하여 테이블을 나열해 보겠습니다.

$ curl -X GET http://localhost:4125/ops/tables

로그인 후 복사

출력

[
  "books",
  "users"
]

로그인 후 복사

기록 검색

사용자 테이블에 다른 사용자 레코드를 추가해 보겠습니다.

$ curl -X POST http://localhost:4125/api/users \
       -H "Content-Type: application/json" \
       -d '{"name": "Pari"}'

로그인 후 복사

이제 모든 사용자를 가져와서 추가를 확인하겠습니다

$ curl -X GET http://localhost:4125/api/users

로그인 후 복사
[
  {
    "name": "Karthik",
    "created_at": "2024-07-22T11:18:42Z",
    "updated_at": "2024-07-22T11:18:42Z",
    "id": "ad100ab0-7893-421d-9233-353cc8899aa9"
  },
  {
    "name": "Pari",
    "created_at": "2024-07-22T11:23:27Z",
    "updated_at": "2024-07-22T11:23:27Z",
    "id": "1f06bb65-1f2d-4980-9cfc-cf3d38c9db7e"
  }
]

로그인 후 복사

이제 사용자에서 문자열을 검색해 보겠습니다.

$ curl -X GET http://localhost:4125/api/users?q=Pari

로그인 후 복사
[
  {
    "name": "Pari",
    "created_at": "2024-07-22T11:23:27Z",
    "updated_at": "2024-07-22T11:23:27Z",
    "id": "1f06bb65-1f2d-4980-9cfc-cf3d38c9db7e"
  }
]

로그인 후 복사

인지를 백업하다

이제 DB를 backup.json이라는 파일로 백업해 보겠습니다.

$ curl -X GET http://localhost:4125/ops/save?file=backup.json

로그인 후 복사

출력

{
  "message": "saved to file backup.json"
}

로그인 후 복사

인지를 막다

마지막으로 인지를 멈추려면 인지가 실행 중인 터미널에서 인지가 실행 중인 터미널에서 Ctrl+c를 눌러 중지합니다.

백업 로드 중

인지를 다시 시작해보자:

$ java -jar injee-0.2.0.jar

로그인 후 복사
$ curl -X GET http://localhost:4125/ops/load?file=backup.json

로그인 후 복사

출력

{
  "message": "loaded from file backup.json"
}

로그인 후 복사

이제 원래 DB를 다시 가져와 실행 중입니다. 축하드립니다.

최신 상태 유지

Injee에 대한 최신 정보를 유지하는 가장 좋은 방법 중 하나는 해당 페이지(https://injee.codeberg.page/)를 팔로우하거나 RSS(https://codeberg.org/injee.rss)를 팔로우하는 것입니다.

위 내용은 Injee - 프런트엔드 개발자를 위한 구성이 필요 없는 인스턴트 데이터베이스입니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿