我正在對外部部門進行一些RESTful API調用,並編寫了基於我需要什麼信息處理此問題的各種函數(類似於下面的代碼片段)例如「登記」,「人」等)。現在我還在想,如果把它放在類中是不是更加pythonic,我相信這樣會更容易處理諸如「has_a_passing_grade」之類的處理,並將它作爲屬性或其他東西傳遞出去當類被實例化時。如何從類定義中調用REST API
有沒有這樣做的標準方式?是否像創建一個類一樣簡單,以某種方式構建api_url,如下所示,調用api,解析和格式化數據,構建一個字典或某個東西以返回,並完成?而這樣的課堂電話怎麼看呢?有沒有人有一些類似於這個可以共享的示例代碼?
非常感謝您的幫助!
from django.utils import simplejson
try:
api_url = get_api_url(request, 'enrollment', person_id)
enrollment = call_rest_stop(key, secret, 'GET', api_url)
enrollment_raw = enrollment.read()
if enrollment_raw == '' or None:
return 'error encountered', ''
enrollment_recs = simplejson.loads(enrollment_raw)
# now put it in a dict
for enrollment in enrollment_recs:
coursework_dict = {
'enrollment_id': enrollment['id'],
...,
}
coursework_list.append(coursework_dict)
cola_enrollment.close()
except Exception, exception:
return 'Error: ' + str(exception), ''
您在這裏遺漏了一個重要細節:您希望使用您的API的代碼看起來如何?添加一個例子,因爲這是最重要的方面 - 在我看來,API的可用性出現在所有其他問題之前。一旦我們知道了,我們可以幫助您構建您的代碼,以正確的方式回答這些調用。 – DavidM
@DavidM,我想這真的是問題的一部分。這就是我想問的問題:「這樣的班級怎麼樣?」。我對OOP還不是非常有經驗,但我猜想我想通過用所需的查找ID(例如student_ID)來實例化它: student_hist = Enrollment.get(pk = student_ID)[我知道語法有點] – KeithE