如何通过Python / Falcon中的userId获取员工详细信息

时间:2017-05-27 06:42:31

标签: python falcon

我是Python / Falcon 的新手。如何通过Python中的userId获取员工详细信息?

falcontry.py

猎鹰示例:

import falcon
import json 

class ThingsResource: 

    def on_get(self, req, resp): 
        resp.status = falcon.HTTP_200 

        fp = open("jsonparser.json","r") 
        json_str = fp.read() 

        print json_str json_content = json.loads(json_str)
        json_content = json.dumps(json_content) 

        print json_content resp.body = (json_content)

api = falcon.API() 
things = ThingsResource() 
api.add_route('/Employees/userId/{id}', things)

我在这里做错了什么?

jsonparser.json 员工:

{ "Employees" : [{
        "userId":"RUPAK",
        "jobTitleName":"Developer",
        "firstName":"ABC",
        "lastName":"Irani",
        "preferredFullName":"Romin Irani",
        "employeeCode":"E1",
        "region":"CA",
        "phoneNumber":"408-1234567",
        "emailAddress":"romin.k.irani@gmail.com"
    }]

}

2 个答案:

答案 0 :(得分:0)

您的JSON / Dict:

t =  { "Employees" : [ {
            "userId":"RUPAK",
            "jobTitleName":"Developer",
            "firstName":"ABC",
            "lastName":"Irani",
            "preferredFullName":"Romin Irani",
            "employeeCode":"E1",
            "region":"CA",
            "phoneNumber":"408-1234567",
            "emailAddress":"romin.k.irani@gmail.com" }
            ]
    }

员工类:

class Employees():

    def on_get(self, json, userID):
        for x in json.get('Employees'):
            if x.get('userId') == userID: 
                print x


empl = Employees()
empl.on_get(t, 'RUPAK')

<强>输出:

$ python pytest.py {'emailAddress': 'romin.k.irani@gmail.com', 'phoneNumber': '408-1234567', 'jobTitleName': 'Developer', 'firstName': 'ABC', 'lastName': 'Irani', 'preferredFullName': 'Romin Irani', 'employeeCode': 'E1', 'userId': 'RUPAK', 'region': 'CA'}

如果您需要有关此方法的更多详细信息,请与我们联系。由于你的问题缺乏信息/格式,因此很难理解你在寻找什么。

希望它可以帮到你!

答案 1 :(得分:0)

根据您最近的评论,我假设您有一个Employee数据库,其中包含一个名为Detail的表格,您希望用户通过userId。这将通过请求网址http://www.yourdomain.com/Employees?userId=RUPAK

来实现

如果是这种情况,您可以使用userIdreq对象中读取req.get_params()并使用带有SELECT子句的WHERE语句查询数据库。修改后的代码如下:

import falcon
import json 
import MySQLdb

class ThingsResource: 
    def on_get(self, req, resp): 
        resp.status = falcon.HTTP_200 
        db = MySQLdb.connect(host = 'localhost', user = 'root', passwd = '***', db = 'Employee' ) 
        cursor = db.cursor() 

        userId=req.get_params('userId')
        cursor.execute('SELECT * FROM Detail WHERE userId='+userId) 
        result = cursor.fetchone() 
        print result
        resp.body = json.dumps(result) 

api = falcon.API() 
things = ThingsResource() 
api.add_route('/Employees', things)

如果这样可以解决您的问题,请标记“已回答”,否则请告知我们是否需要进一步的帮助。

相关问题