как улучшить эхо-сервер с бутылками - PullRequest
0 голосов
/ 12 февраля 2019

Я только что написал эхо-сервер, который отвечает на запросы curl с использованием метода и отправленных данных.придерживаясь GET и POST сейчас, но я хотел бы знать, есть ли что-то, что я могу сделать, чтобы улучшить мой RESTFUL API

Я должен:

 1. Only be able to call the /data endpoint
 2. Only allow JSON parameters 
 3. Use best practices of coding a restful API

Ожидаемый ответ JSON:

{
  “method”: <HTTP METHOD REQUESTED>,
  “data”: <HTTP PARAMETERS SENT IN THE REQUEST>
}

Вот мой текущий код:

from bottle import run, post, request, response, get, route, put, delete
from json import dumps
import json

@get('/data')
def data():
    #if headers are not specified we can check if body is a json the following way
    #postdata = request.body.read()
    postdata = request.json
    try:
        #rv = {"method": request.method, "data": json.loads(postdata.decode('utf-8'))}
        rv = {"method": request.method, "data": postdata}
    except:
        raise ValueError
    response.content_type = 'application/json'
    return dumps(rv)

@post('/data')
def data():
    #postdata = request.body.read()
    postdata = request.json
    try:
        #rv = {"method": request.method, "data": json.loads(postdata.decode('utf-8'))}
        rv = {"method": request.method, "data": postdata}
    except:
        raise ValueError
    response.content_type = 'application/json'
    return dumps(rv)

Пока что все работает нормально, я пытаюсь получить хорошую оценку, так что если есть что-то, о чем вы можете подумать, чтобы улучшить это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...