web.pyを使用してRESTfulAPIのURLの末尾にある。{Type}に基づいて応答タイプを設定しようとしています。
.JSON、.XML、.HTML、。(何でも)をクラス「Assignments」に渡すか、ServerResponseがそれを受信して適切な形式で応答できるように、どこかに値として設定するにはどうすればよいですか?
私は試した:
'/assignments(\.[:upper:]+)', 'Assignments'
URLに次のコードを使用しています。
urls = (
'/(.*)/', 'redirect',
'/', 'Homepage',
'/assignments', 'Assignments'
)
私はクラス「割り当て」を持っています:
class Assignments:
def GET(self,responseType):
sentData = web.data()
query = JSON.decode(sentData,'unicode')
# \/ Replace With Code \/
data = query
# /\ Replace with Code /\
return ServerResponse.Send(data,responseType)
def POST(self,responseType):
sentData = web.data()
query = JSON.decode(sentData,'unicode')
# \/ Replace With Code \/
data = query
# /\ Replace with Code /\
return ServerResponse.Send(data,responseType)
そして私のServerResponseクラス:
class ServerResponse:
@staticmethod
def Send(data, method):
return getattr(ServerResponse, method)(data)
@staticmethod
def JSON(data):
web.header('Content-Type', 'application/json')
response = JSON.encode(data)
return response
@staticmethod
def XML(data):
pass
@staticmethod
def HTML(data):
web.header('Content-Type', 'text/html')
response = "<html>"
response += "<head></head>"
response += "<body>"
response += "{"
for key in data:
response += "%s:%s,\n" % (str(key), str(data[key]))
response += "}"
response += "</body>"
response += "</html>"
return response