node.jsとMysqlによるコスト入金
3162 ワード
入る前に。
まず、会社の進行側プロジェクトのショッピングモールプロジェクトで使用するAPIを作成し、ノードを作成します.jsでtypescriptを使って他の人にも参考にしてもらいたい
テクノロジースタック
node.js => v14.17.4
mysql => 8.0.22
使用されているパッケージとバージョン
APIテスト=>Insomnia
mysql会員入金表の作成
create table user(
_no int auto_increment primary key, //식별을 위한 컬럼
user_id varchar(50) not null, // 아이디
user_password varchar(100) not null, // 패스워드 => 사이즈를 크게 잡은 이유는 암호화를 할것이기 때문이다
user_name varchar(30), // 이름
user_email varchar(30) // 이메일
);
終わったら待ってください.はこのようにテーブルを構成します.
node.jsの起動
ファイル構造の表示
私はこのようにファイル構造をつかんで行ったのです.
app.ts
appですこうしてtsを構成するもとはPORT図だったenvに入れて処理しますが、面倒なのでapp.tsでcont PORT=3000;として宣言されました.
私たちが普段知っているアプリjsとは異なりreq,res,nextがタイプを指定している.このように指定しないと、エラーが発生します.タイプスクリプトに興味があれば、私の開発でタイプスクリプトの内容を見ることができます.
corsはこのように書くことはできません.whitelistを指定するべきでしたが、フロントエンドはまだ完了していません.後で配置するときに処理して配布します.
よし、今http://localhost:3000/welcome行きますに接続すると
私たちが書いたコードのように、効果はいいです.node.jsが正常に動作していることが確認された以上、nodeです.jsとmysqlを接続する必要があります.
node.jsとmysqlの接続
configフォルダの下にあるdbConnectですjsという名前のファイルが作成されました.
このように接続すれば良いのですが、ちなみにテストの時以外は絶対にコードにhost、user、passwordなどの情報を使用してはいけません.だから私は...envという名前のファイルを作成して管理しています.
.env
dotnvライブラリは、現在のディレクトリにあるデバッガです.環境変数をenvファイルから読み込みます.だから、.envファイルを作成し、必要な環境変数をキー=値のフォーマットとしてリストします.
登録APIの作成
今日のテーマがやっと出てきました
ルーティング部分とAPI論理実行部分を分けます.
routes/routes.ts
ルーティング部分コード.router.get(),router.postでAPIの送信方法を指定し、そのコンテンツをモジュール化してインポートして使用します.
service/user.ts
会員入金のロジックを実行します.(意図的にルーティングしている部分とAPIロジックを実行している部分.これは原因だけでなく毒性的な原因もあり、MVCモードを守ろうと努力してきたが、実際にはM部分があまりよくないようなので、もう少し考えるべきだった…)
あちなみにアイデンティティ暗号ではなくパスワード暗号です私はbcryptライブラリで行い、bodyで送信したパスワードはbcryptです.hashSync(暗号化するターゲット、salt)を使用して暗号化します.
テスト
作成したAPIをテストする時間です。
こうやってAPIを投げたら.
このような結果値を与えることができますが、実際にはparamを使用する必要はありません.しかし、私はテストの時に入れて値が正しいかどうかを見ただけです.
DBで確認
実際にはこのように格納されています.
の最後の部分
会員費の口が詰まるのは簡単ですが、暗号化された部分が入ると、考えなければならない部分が生じるかもしれません.次の記事では、ログインロジック時に復号する方法について説明します.
Reference
この問題について(node.jsとMysqlによるコスト入金), 我々は、より多くの情報をここで見つけました https://velog.io/@kmsdoit/node.js와-Mysql을-이용해서-회원가입-구현하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol