Como criar micro serviços - Nível fácil parte 3
17014 단어 tutorialwebdevbeginnersprogramming
사용자 API
Aqui, vamos criar uma는 API Rest HTTP를 단순화합니다. Isso não deve ser um mistério. Ter uma Controller com as rotas, uma camada de Services, conexão com base de dados, tudo muito simples.
도미니오
Vamos iniciar pela camada de domínio. Isso vai garantir que foquemos em regras de negócio e depois nos preocupamos em implementar as Rotas e regras de aplicação, que não são pertinentes ao domínio.
Primeiro vamos iniciar nosso projeto.
mkdir users-api && cd users-api
yarn init -y
Isso já deve gerar nossa 파스타 e iniciar o package.json
. Vamos 구성 o typescript
광장, 터미널 실행 없음:
yarn add -D typescript && \
yarn tsc --init
Isso resolve nossa configuração inicial do typescript
. Agora vamos começar com nosso domínio.
mkdir domain && touch domain/user.ts
Com isso vamos ter nossa entidade de user
. Antes de começar com a construção do nosso user
vamos configurar o jest
como nosso runtime para testes.
실행하다:
yarn add -D jest @types/jest ts-jest ts-node
Após o comando acima, teremos o jest instalado, agora vamos configurá-lo:
yarn jest --init
Com esse comando o jest
inicia o processo de configuração, com isso seu terminal fará algumas perguntas. Vamos às respostas:
mkdir users-api && cd users-api
yarn init -y
yarn add -D typescript && \
yarn tsc --init
mkdir domain && touch domain/user.ts
yarn add -D jest @types/jest ts-jest ts-node
yarn jest --init
Agora você pode ver que foi criado um arquivo
jest.config.ts
. Esse é o arquivo de configuração do jest. 더 정확한 추가 구성을 위해 다음을 수행하십시오.// tsconfig.json
// ... Logo depois de export default
export default {
// ... Aqui abaixo.
transform: {
"^.+\\.tsx?$": "ts-jest",
},
// ...
Vamos criar nosso primeiro teste para saber se está tudo correto.
Crie o arquivo
user.spec.ts
(ou execute touch domain/user.spec.ts
) junto com o arquivo user.ts
Teste do arquivo de teste (
user.spec.ts
) vamos digitar o seguinte código:
// user.spec.ts
describe("Domínio de usuário", () => {
it("deve funcionar", function () {
expect(true).toBe(true);
});
});
Antes de testar, vamos ajustar nosso
package.json
. Vamos 추가 스크립트입니다. O package.json
deve ficar assim:// package.json
{
"name": "users-api",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"scripts": {
"start": "node index.js",
"test": "jest"
},
"devDependencies": {
"@types/jest": "^28.1.3",
"jest": "^28.1.1",
"ts-jest": "^28.0.5",
"ts-node": "^10.8.1",
"typescript": "^4.7.4"
}
}
que adicionamos uma chave
scripts
와 nela temos dois(2) 스크립트에 유의하십시오. Um para iniciar aplicação e outro para testar.Agora no terminal, execuamos:
yarn test
Esperamos que tudo dê certo. Se aparecer
1 passed
em verde, significa que tudo está bem configurado.A partir de agora, vou explicar o que faremos e o resultado.
바모스 렘브라. Nossas regras de negócio nos dizem que:
Todo usuário deve fornecer um e-mail e uma senha para poder se cadastrar.
Toda atualização do usuário registra a data em que ocorreu.
Sabendo disso, nosso teste de
user
deve ficar assim:// user.spec.ts
import { User } from "./user";
describe("Domínio de usuário", () => {
it("deve fornecer um e-mail e senha em User", function () {
expect(
new User(
"id-fake",
"email-fake",
"password-fake",
"created_at-fake",
"updated_at-fake"
)
).toBeTruthy();
});
it("deve dar erro se não fornecer e-mail ou senha em User", function () {
expect(() => {
new User(
"id-fake",
// Email vazio
"",
"password-fake",
"created_at-fake",
"updated_at-fake"
);
}).toThrowError("É obrigatório informar um e-mail");
expect(() => {
new User(
"id-fake",
"email-fake",
// Senha vazia
"",
"created_at-fake",
"updated_at-fake"
);
}).toThrowError("É obrigatório informar uma senha");
});
});
Se você tentar executar os testes
yarn test
deve falhar. Mas agora vamos criar nossa classe de usuário para resolver isso.// user.ts
export class User {
private _user_id: string;
private _email: string;
private _password: string;
private _created_at: string;
private _updated_at: string;
constructor(
user_id: string,
email: string,
password: string,
created_at: string,
updated_at: string
) {
this._user_id = user_id;
this._email = email;
this._password = password;
this._created_at = created_at;
this._updated_at = updated_at;
this.validate();
}
private validate() {
if (!this._email) {
throw new Error("É obrigatório informar um e-mail");
}
if (!this._password) {
throw new Error("É obrigatório informar uma senha");
}
}
}
A partir de agora, acompanhe por vídeo. Este artigo ficará imenso caso eu explique tudo. O essencial já está aqui. O que terá no vídeo é a prática do desenvolvimento e insigths.
동영상 보기
엠 브리브
Reference
이 문제에 관하여(Como criar micro serviços - Nível fácil parte 3), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/jeanmolossi/como-criar-micro-servicos-nivel-facil-parte-3-3cjj
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Como criar micro serviços - Nível fácil parte 3), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jeanmolossi/como-criar-micro-servicos-nivel-facil-parte-3-3cjj텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)