Я использую поршень django для реализации моего RESTful API.Я уже реализовал API, который
/api/[uuid of user]
выдаст всю информацию, связанную с uuid пользователя.
Однако я также хочу реализовать другой API
/api/user/username
где вывод должен точно такой же, как предыдущий.
Я не хочу поддерживать два API с разными входами, но имеет одинаковый вход.Поэтому я хочу перенаправить вызов API поршня.После поиска в интернете кажется, что поршень не может этого сделать (поправьте меня, если я ошибаюсь), поэтому я выхожу из обходного пути.Для второго API я могу использовать функцию представления django, чтобы реализовать, и если имя пользователя существует, тогда вернуть обработчик.Если не существует, то вернуть сообщение об ошибке в функции просмотра.Мой код следующий.
def username_url_map(request, username):
try
user = UserProfile.objects.get(user = username)
except UserProfile.DoesNotExist:
return HttpResponse(simplejson.dumps({'error':'This user does not exist.' }), mimetype='application/json')
except UserProfile.MultipleObjectsReturned:
return HttpResponse(simplejson.dumps({'error':'This user does not exist.'}), mimetype='application/json')
uuid = user.uuid
results=GenericHandler.read(request, uuid)
json = simplejson.dumps(results)
return HttpResponse(json, mimetype='application/json')
Но я получаю следующее сообщение об ошибке:
TypeError
Exception Value: unbound method wrapper() must be called with GenericHandler instance as first argument (got WSGIRequest instance instead)