기본 콘텐츠로 건너뛰기

python, stored-procedure, mysql, flask, run api

python, stored-procedure, mysql, flask, run api

$ vi api.py

------------------------------------------------

from flask import Flask

from flask_restful import Resource, Api

from flask_restful import reqparse

from flaskext.mysql import MySQL

app = Flask(__name__)

api = Api(app)

'''INPUT

{"email": "gyunseul9@gmail.com","username": "gyunseul9","password": "gyunseul10"}

END'''

#mysql connection

mysql = MySQL()

app.config['MYSQL_DATABASE_USER'] = 'USER_ID'

app.config['MYSQL_DATABASE_PASSWORD'] = 'PASSWORD'

app.config['MYSQL_DATABASE_DB'] = 'DATABASE'

app.config['MYSQL_DATABASE_HOST'] = 'DATABASE_ENDPOINT'

mysql.init_app(app)

class BlankPage(Resource):

def get(self):

return {'status':'200'}

class CreateUser(Resource):

def post(self):

#return {'status':'success'}

try:

parser = reqparse.RequestParser()

parser.add_argument('email', type=str)

parser.add_argument('username', type=str)

parser.add_argument('password', type=str)

args = parser.parse_args()

_userEmail = args['email']

_userName = args['username']

_userPassword = args['password']

conn = mysql.connect()

cursor = conn.cursor()

cursor.callproc('sp_create_user', (_userEmail, _userName, _userPassword))

data = cursor.fetchall()

if len(data) is 0:

conn.commit()

return {'StatusCode': '200', 'Message': 'User creation success!!!'}

else:

return {'StatusCode': '1000', 'Message': str(data[0])}

#return {'Email': args['email'], 'UserName': args['user_name'], 'Password': args['password']}

except Exception as e:

return {'error': str(e)}

api.add_resource(BlankPage,'/')

api.add_resource(CreateUser,'/user')

if __name__ == '__main__':

app.run('0.0.0.0',debug=True)

---------------------------------

$ vi user.sql

---------------------------------

CREATE TABLE user (

user_id INT NOT NULL AUTO_INCREMENT,

email VARCHAR(80) NULL,

username VARCHAR(45) NULL,

password VARCHAR(45) NULL,

PRIMARY KEY (user_id));

---------------------------------

$ vi sp_create_user.sql

---------------------------------

REATE PROCEDURE `sp_create_user`(

IN p_email varchar(80),

IN p_username varchar(45),

IN p_password varchar(45)

)

BEGIN

IF ( select exists (select 1 from user where username = p_username) ) THEN

select 'Username Exists !!';

ELSE

insert into user (

email,

username,

password

) values (

p_email,

p_username,

p_password

);

END IF;

END

--------------------------------

from http://lonbehold.tistory.com/134 by ccl(A) rewrite - 2020-03-06 18:20:29

댓글

이 블로그의 인기 게시물

Flask 13. pythonanywhere에 배포하기

Flask 13. pythonanywhere에 배포하기 Login: PythonAnywhere It's always a pleasure to hear from you! Ask us a question, or tell us what you love or hate about PythonAnywhere. We'll get back to you over email ASAP. Sorry, there was an error connecting to the server. Please try again in a few moments... www.pythonanywhere.com from http://ohdowon064.tistory.com/124 by ccl(A) rewrite - 2020-03-11 15:54:10

[ubuntu] FLASK_APP

[ubuntu] FLASK_APP Development/Debugging 🐞 FLASK_ENV=development FLASK_APP = app.py flask run zsh: command not found: FLASK_APP ✔️ FLASK_ENV=development FLASK_APP=app.py flask run 띄어쓰기를 해서 저런 오류를 출력할수도 있구나 😲 참고 : 108p에서 FLASK가 FKAS로 오타나있다. from http://hee-stories.tistory.com/18 by ccl(A) rewrite - 2020-03-24 17:20:11