프론트엔드 개발자로서 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!