Flask et MySQL problème de communication (débutant)
Bonjour,
J'essaie de connecter Flask et MySQL, mais je ne récupère pas le status "success" de la création d'utilisateur....Je fais mes test avec POSTMAN, je reçois l'erreur suivante :
Code:
{"message": "The method is not allowed for the requested URL."}
Je ne comprends pas de quelle "method" il parle, du POST ????....
Voici le code de "api.py":
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| from flask import Flask
from flask_restful import Resource, Api, reqparse
from flaskext.mysql import MySQL
app = Flask(__name__)
api = Api(app)
class CreateUser(Resource):
def Post(self):
try:
# Parse the arguments
parser = reqparse.RequestParser()
parser.add_argument('email', type=str, help='Email address to create user')
parser.add_argument('password', type=str, help='Password to create user')
args = parser.parse_args()
_userEmail = args['email']
_userPassword = args['password']
return {'Email': args['email'], 'Password': args['password']}
mysql = MySQL()
# MySQL configurations
app.config['MYSQL_DATABASE_USER'] = 'root'
app.config['MYSQL_DATABASE_DB'] = 'itemlistdb'
app.config['MYSQL_DATABASE_HOST'] = 'localhost'
mysql.init_app(app)
conn = mysql.connect()
cursor = conn.cursor()
cursor.callproc('spCreateUser',(_userEmail,_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])}
except Exception as e:
return {'error': str(e)}
api.add_resource(CreateUser, '/CreateUser')
if __name__ == '__main__':
app.run(debug=True) |
J'utilise une procédure stockée pour écrire dans la DB, procédure "spCreateUser", voici son code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| BEGIN
if ( select exists (select 1 from tblUser where UserName = p_username) ) THEN
select 'Username Exists !!';
ELSE
insert into tblUser
(
UserName,
Password
)
values
(
p_Username,
p_Password
);
END IF;
END |
Merci d'avance ! :mouarf: