Cruky 라이브러리 첫 번째 README
정보
Cruky 은 API를 최대한 빨리 생성할 수 있도록 도와주는 dart 생태계용 서버 측 라이브러리입니다. 현대적인 스타일과 빠른 서버 측 앱을 만들고 싶습니다
high performance
.내가 이것을 구축한 주된 이유는 모든 라이브러리가 dart lang이 아닌 Flutter 생태계에 초점을 맞추고 있기 때문입니다.
그리고 이것은 라이브러리가 (Django, FastAPI, Express, ..etc)와 같은 다른 프레임워크나 라이브러리보다 미래가 적습니다.
그래서 나는 Dart에 초점을 맞춘 새로운 라이브러리를 만들고 dart: mirrors와 code generators를 함께 사용하여 최대 성능을 얻어 dart를 최대한 활용하기로 결정했습니다.
Inspired by Pythod server-side frameworks (Django, Flask, FastAPI)
시작하다
이해하기 매우 명확한 예제 파일에서 todo 예제를 볼 수 있습니다.
dart pub global activate cruky_cli
로 Cruky 패키지를 설치합니다. dart create nameOfProject
로 다트 프로젝트 생성 vscode
진입점 앱 추가 시작
import 'package:cruky/cruky.dart';
class MyApp extends AppMaterial {
@override
List get routes => [
exampleWithGETRequest,
];
}
이제 첫 번째 경로 방법을 추가해 보겠습니다.
@Route.get('/')
exampleWithGetRequest(ReqCTX req) {
return Json({});
}
Route
주석을 추가하여 경로 경로를 지정하고 그 아래에 메서드를 추가하여 Future
메서드 또는 일반 메서드(비동기 또는 동기화)를 사용할 수 있습니다.메서드에서 데이터 반환
지금은 목록 또는 맵을 반환할 수 있으며 현재 응답 콘텐츠 유형은 JSON입니다.
특정 상태 코드 반환
다음과 같이 맵과 함께 특정 상태 코드를 반환할 수 있습니다.
@Route.get('/')
exampleWithGetRequest(ReqCTX req) {
return Json({}, 201);
}
이제 앱을 제공하세요
이 코드로 간단한 앱을 제공할 수 있습니다.
void main() => run(MyApp());
이제
cruky run filename
로 dart 파일을 실행합니다.그러면 hot-reload로
./bin/filename.dart
의 파일이 실행됩니다.You can run with another folder with
cruky run filename -d example
This will run the file in
./example/filename.dart
이제 Cruky는 lib 폴더에 변경 사항이 있으면 hot-reload로 앱을 실행합니다.
미들웨어를 추가하자
이전 및 이후 미들웨어를 추가할 수 있습니다.
before 미들웨어는 기본 경로 메서드 핸들러를 호출하기 전에 실행됩니다.
그리고 after 미들웨어는 그 반대입니다.
@BeforeMW()
middlewareExample(ReqCTX req) {
if (req.headerValue('Token') == null) {
return Text('Not Auth', 401);
}
}
MW
는 MiddleWare의 줄임말입니다.주석은 미들웨어의 유형을 정의합니다. 두 가지 유형이 있습니다.
BeforeMW
및 AfterMW
.다음 함수를 실행하지 않으려면 (기본 경로 방법) 예제와 같은 응답을 반환할 수 있습니다.
이제 이 미들웨어를 앱의 전역 미들웨어에 추가하고 그 아래의 모든 경로에는 동일한 미들웨어가 있습니다.
class MyApp extends AppMaterial {
@override
List get routes => [
exampleWithGETRequest,
];
@override
List get middlewares => [middlewareExample]; /// add this
}
또는 다음과 같이 경로에 대한 미들웨어 범위를 추가할 수 있습니다.
@Route.get('/', [middlewareExample])
exampleWithGetRequest(ReqCTX req) {
return Json({}, 201);
}
Reference
이 문제에 관하여(Cruky 라이브러리 첫 번째 README), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/seifalmotaz/cruky-library-first-readme-1ja2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)