ElysiaJS 시작해보기(2)

이진희·2024년 11월 19일

elysiaJS

목록 보기
2/3
post-thumbnail

ElysiaJS 공식 문서를 참고함!
https://elysiajs.com

앞의 포스트에서 기본 세팅을 완료했다면, 이제는 하나씩 건들여볼 차례다.

.listen(3000) 부분을 사용하기 쉽게 80번으로 바꾸어보면 일반적인 localhost만 쳐도 서버에 접속할 수 있게 설정해두고 시작!

ElysiaJS의 경우 라우터를 계속 추가로 만들 수 있는데 코드로 설명을 하자면,

import { Elysia } from "elysia"

const app = new Elysia()
  .get("/", () => "Hello Elysia")
  .get('/hello', () => "hello world!") // 추가된 router
  .listen(80)

위의 코드와 같이 express에서 라우터를 생성하는 것처럼 하지만, 다른 점은 이어서 app.get() 을 계속 쓰지 않아도 된다는 점이다.

굉장히 간단!

쓸 수 있는 method도 express와 동일하다. (get, post, put, patch, delete)

내가 추가로 설정한 path인 /hello로 들어가봤을때, 'hello world!'가 보이는 것을 알 수 있다.

이와 같이 라우터 설정 자체는 매우 간단하며, 함수를 통해 경로 및 인스턴스 정보에도 엑세스 할 수 있다고 써있다. 이게 무슨 말인지는 코드를 보면서 이해해보자.

import { Elysia } from "elysia"

const app = new Elysia()
  .get("/", () => "Hello Elysia")
  .get('/hello', ({ path }) => path) // 경로를 반환하게 설정
  .post('/hello', 'Do you miss me?')
  .listen(80)

위와 같이 함수로 path를 response에 넘겨주었더니

해당 경로가 값으로 나오는 것을 확인할 수 있다.

또한 스웨거도 UI가 굉장히 깔끔하게 나오는데, 일단 스웨거 설정부터 하자면 이것 또한 꽤나 간단하다.

일단 elysiajs 전용 swagger를 설치하자.

bun add @elysiajs/swagger
import { Elysia } from "elysia"
import { swagger } from '@elysiajs/swagger'

const app = new Elysia()
  .use(swagger()) // swagger 설정
  .get("/", () => "Hello Elysia")
  .get('/hello', ({ path }) => path)
  .post('/hello', 'Do you miss me?')
  .listen(80)

이렇게 스웨거 설정을 해두면 아래와 같은 UI로 내가 설정한 라우터들이 보인다.

GET 요청 send시, 설정한 Response가 나타난다.

POST 요청도 마찬가지!

참고로 body쪽에 JSON이 기본으로 설정되어 있는데, 이를 클릭해보면 다양한 형식을 설정할 수 있다!

다른 것들은 이후에 또 알아보자.😉

0개의 댓글