ਮੈਨੂੰ ਗੋਲਾਂਗ ਵਿੱਚ ਬੈਕਐਂਡ ਏਪੀਆਈ ਵੈੱਬ ਸਰਵਰ ਲਈ ਪੂਰਾ ਸਰੋਤ ਕੋਡ ਦਿਖਾਓ। ਇਹ NAME _ 1 ਵੈੱਬ ਫਰੇਮਵਰਕ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਵਿਗਿਆਪਨ ਟੋਕਨ ਲਈ jwt ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਇਹ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ ਗੋਰਮ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈਮਾਈਐੱਸਕੇਐੱਲ ਡਾਟਾਬੇਸ 'ਵਿੱਚ ਉਪਭੋਗੀ] ", 'ਮੈਨੂੰ ਗੋਲਾਂਗ ਵਿੱਚ ਬੈਕਐਂਡ ਏਪੀਆਈ ਵੈੱਬ ਸਰਵਰ ਲਈ ਪੂਰਾ ਸਰੋਤ ਕੋਡ ਦਿਖਾਓ। ਇਹ NAME _ 1 ਵੈੱਬ ਫਰੇਮਵਰਕ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਵਿਗਿਆਪਨ ਟੋਕਨ ਲਈ jwt ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਇਹ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ ਗੋਰਮ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈਮਾਈਐੱਸਕੇਐੱਲ ਡਾਟਾਬੇਸ ਵਿੱਚ ਉਪਭੋਗੀ', ' [\'ਮੈਨੂੰ ਗੋਲਾਂਗ ਵਿੱਚ ਬੈਕਐਂਡ ਏਪੀਆਈ ਵੈੱਬ ਸਰਵਰ ਲਈ ਪੂਰਾ ਸਰੋਤ ਕੋਡ ਦਿਖਾਓ। ਇਹ NAME _ 1 ਵੈੱਬ ਫਰੇਮਵਰਕ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਵਿਗਿਆਪਨ ਟੋਕਨ ਲਈ jwt ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਇਹ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ ਗੋਰਮ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈਮਾਈਐੱਸਕਿਊਐੱਲ ਡਾਟਾਬੇਸ ਦਾ ਉਪਭੋਗਤਾ \',\' ਇੱਥੇ ਇੱਕ ਬੈਕਐਂਡ ਏਪੀਆਈ ਵੈੱਬ ਸਰਵਰ ਦੀ ਇੱਕ ਉਦਾਹਰਣ ਹੈ ਜੋ ਗੋ ਵਿੱਚ NAME _ 1 ਵੈੱਬ ਫਰੇਮਵਰਕ, ਟੋਕਨ ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ JWT ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਲਿਖੀ ਗਈ ਹੈ,ਅਤੇ ਡਾਟਾਬੇਸ ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ ਜੀ. ਓ. ਆਰ. ਐੱਮ.। \\n "\'ਗੋ \\ਨ ਪੈਕੇਜ ਮੇਨ \\ਨ \\ਨਿੰਪੋਰਟ (\\ਨ" ਐੱਫ. ਐੱਮ. ਟੀ. \\ਨ "ਨੈੱਟ/ਐੱਚ. ਟੀ. ਪੀ." \\ਨ \\ਨ "github.com/spf13/cobra" \\ਨ "github.com/spf13/viper" \\ਨ ""gorm.io/driver/mysql" "\\n" "gorm.io/gorm" "\\n" "gorm.io/pagination" "\\n) \\n\\nfunc ਮੈਨ () {\\n// ਰੂਟਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ \\nr: = NAME_1.Default () \\n"r.GET ("/", ਫੰਕ (c * NAME_1.Context) {\\n c.JSON (http.StatusOK, NAME_1.H {"ਸੁਨੇਹਾ": "ਸਰਵਰ ਵਿੱਚ ਤੁਹਾਡਾ ਸਵਾਗਤ ਹੈ"}) \\n}) \\n\\n// JWT\\n ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਪ੍ਰਮਾਣਿਤ ਕਰੋ।jwtSecret: = viper.GetString ("jwt _ ਗੋਪ੍ਯ") \\n jwtConfig: = jwt.Config {\\n ਗੁਪਤਃ jwtSecret, \\n ਹੈਂਡਲਰਃ jwt.GinMiddleware (r), \\n} \\n\\n/ਨਾਲ ਜੁਡ਼ੋMySQL ਡਾਟਾਬੇਸ \\n db, err: = gorm.Open (mysql.Open (fmt.Sprintf ("% s:% s @:% s:% s", viper.GetString ("ਹੋਸਟ"), viper.GetString ("ਉਪਭੋਗਤਾ ਨਾਮ"),viper.GetString ("ਪਾਸਵਰਡ"), viper.GetString ("ਡਾਟਾਬੇਸ")) \\n ਜੇਕਰ ਗਲਤੀ ਹੋਵੇ! = nil {\\n fmt.Println (err) \\n ਰੀਟਰਨ\\n} \\n\\n// ਉਪਭੋਗਤਾ ਮਾਡਲ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ \\n ਉਪਭੋਗਤਾਃ =gorm.NewModel (ਉਪਭੋਗੀ {}) \\n user.Table ("ਉਪਭੋਗੀ") \\n user.AddMetatags ("json", gorm.TypeM {\\n "ਲੋਡ਼ੀਂਦਾ": [] ਸਤਰ {\\n "ਉਪਭੋਗਤਾ ਨਾਮ", \\n "ਪਾਸਵਰਡ", \\n}, \\n ") \\n//ਉਪਭੋਗਤਾ ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ ਰੂਟਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ \\n r.POST ("/aut/ਰੇਜਿਸ੍ਟਰ", user.CreateRegister) \\n r.POST ("/aut/ਲੌਗਇਨ", user.CreateLogin) \\n\\n// ਰੂਟ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋਸੁਰੱਖਿਅਤ ਸਫ਼ੇ \\n r.GET ("/ਸੁਰੱਖਿਅਤ", jwtConfig.Authorize (& ਯੂਜਰ {}, ਫੰਕ (c * NAME_1.Context) {\\n c.JSON (http.StatusOK, NAME_1.H {"ਸੁਨੇਹਾ": "ਸੁਆਗਤ ਹੈ।ਸੁਰੱਖਿਅਤ ਸਫ਼ਾ "}) \\n}) \\n\\n// ਸਟਾਰਟ ਸਰਵਰ\\n r.Run (": 8080 ") \\n} \\n\\n ਟਾਈਪ ਉਪਭੋਗਤਾ ਬਣਤਰ {\\n gorm.Model \\n ਨਾਮ ਸਤਰ \'jsson:" ਨਾਮ "ਲੋਡ਼ੀਂਦਾ\' \\n ਈਮੇਲਸਤਰ \'jsson: "ਈਮੇਲ" ਦੀ ਲੋਡ਼ ਹੈ\' \\n ਪਾਸਵਰਡ ਸਤਰ \'jsson: "ਪਾਸਵਰਡ" ਦੀ ਲੋਡ਼ ਹੈ\' \\n} \\n\\nfunc (u * ਉਪਭੋਗੀ) ਬਣਾਓ ਰਜਿਸਟਰ (c * NAME_1.Context) {\\nਵਰ ਉਪਭੋਗਤਾ ਉਪਭੋਗਤਾ \\nਜੇਕਰ ਗਲਤੀਃ = c.ShouldBindJSON (& ਉਪਭੋਗੀ); ਗਲਤੀ! = nil {\\n c.JSON (http.StatusBadRequest, NAME_1.H {"ਗਲਤੀ": fmt.Sprintf ("JSON:% s ਨੂੰ ਪਾਰਸ ਕਰਨ ਵਿੱਚ ਗਲਤੀ", ਗਲਤੀ)}) \\nਵਾਪਸ ਕਰੋ \\n} \\n\\n// ਉਪਭੋਗੀ ਨੂੰ ਡਾਟਾਬੇਸ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ \\n ਜੇਕਰ ਗਲਤੀ ਹੋਵੇਃ = db.Create (& ਉਪਭੋਗੀ)। ਗਲਤੀ; ਗਲਤੀ! = nil {\\n c.JSON (http.StatusInternalServerError,NAME_1.H {"ਗਲਤੀ": fmt.Sprintf ("ਉਪਭੋਗਤਾ ਬਣਾਉਣ ਵਿੱਚ ਗਲਤੀਃ% s", err)}) \\n ਵਾਪਸੀ\\n} \\n\\n// ਵਾਪਸੀ ਸਫਲਤਾ ਸੁਨੇਹਾ\\n c.JSON (http.StatusCreated,NAME_1.H {"ਸੁਨੇਹਾ": "ਉਪਭੋਗਤਾ ਸਫਲਤਾਪੂਰਵਕ ਬਣਾਇਆ ਗਿਆ"}) \\n} \\n\\nfunc (u * ਉਪਭੋਗਤਾ) ਕ੍ਰਿਏਟ ਲੌਗਿਨ (c * NAME_1.Context) {\\nਵਰ ਉਪਭੋਗਤਾ ਉਪਭੋਗਤਾ \\n ਜੇਕਰ ਗਲਤੀ ਹੈਃ =c.ShouldBindJSON (& ਉਪਭੋਗੀ); err! = nil {\\n c.JSON (http.StatusBadRequest, NAME_1.H {"ਗਲਤੀ": fmt.Sprintf ("JSON:% s ਨੂੰ ਪਾਰਸ ਕਰਨ ਵਿੱਚ ਗਲਤੀ", err)}) \\n ਰੀਟਰਨ\\n} \\n//ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਉਪਭੋਗੀ ਡਾਟਾਬੇਸ ਵਿੱਚ ਮੌਜੂਦ ਹੈ \\n ਉਪਭੋਗਤਾ ਮੌਜੂਦ ਹੈ, ਗਲਤੀਃ = user.ByUsername (c, user.Name) \\n ਜੇਕਰ ਗਲਤੀ! = nil {\\n c.JSON (http.StatusInternalServerError,NAME_1.H {"ਗਲਤੀ": fmt.Sprintf ("ਜੇਕਰ ਉਪਭੋਗਤਾ ਮੌਜੂਦ ਹੈ ਤਾਂ ਜਾਂਚ ਕਰਨ ਵਿੱਚ ਗਲਤੀਃ% s", err)}) \\n ਰਿਟਰਨ\\n} \\n\\n ਜੇਕਰ! ਉਪਭੋਗੀਐਕਸਿਸਟ {\\n c.JSON (http.StatusUnauthorized,NAME_1.H {"ਗਲਤੀ": "ਉਪਭੋਗੀ ਨਹੀਂ ਲੱਭੀ"}) \\n ਵਾਪਸੀ\\n ", \'ਜਾਰੀ ਰੱਖੋ\'] ', 'ਮੈਨੂੰ ਗੋਲਾਂਗ ਵਿੱਚ ਬੈਕਐਂਡ ਏਪੀਆਈ ਵੈੱਬ ਸਰਵਰ ਲਈ ਪੂਰਾ ਸਰੋਤ ਕੋਡ ਦਿਖਾਓ। ਇਹ NAME _ 1 ਵੈੱਬ ਫਰੇਮਵਰਕ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਵਿਗਿਆਪਨ ਟੋਕਨ ਲਈ jwt ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਇਹ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ ਗੋਰਮ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈਮਾਈਐੱਸਕੇਐੱਲ ਡਾਟਾਬੇਸ ਵਿੱਚ ਉਪਭੋਗੀ \n ']