#django #web-services #view #httpresponse #restful-url
#django #веб-сервисы #Вид #httpresponse #restful-url
Вопрос:
Я пытаюсь создать систему веб-сервисов между двумя серверными программами, написанными на django. Однако, даже после изменения типа HttpResponse на json:
HttpResponse('{"operation":"done"}',mimetype='application/json'
)
Я все еще получаю информацию http-заголовка на другом компьютере django:
{u'body': u'{"myjson":"here"}', u'headers': {'status': 200, 'content-length': '235', 'server': 'Google Frontend', 'cache-control': 'private, x-gzip-ok=""', 'date': 'Thu, 05 May 2011 06:16:16 GMT', 'content-type': 'application/json'}}
Информация заголовка мне просто не нужна. Есть ли какой-либо удобный способ удалить его?
[Отредактировано] Библиотека, которую я использую для выполнения RESTful-запроса, является: http://code.google.com/p/python-rest-client/wiki/Using_Connection
Спасибо
Ответ №1:
Я, наконец, обнаружил, что возвращаемый ответ является типом коллекции:
def getSOAResponse(soa, uri, parameters):
conn = Connection(soa)
value = conn.request_get(uri, args=parameters)
return value
Если вы принимаете ответ с помощью функции выше, значение, которое вы получаете здесь, на самом деле является map .
Тогда вы сможете получить доступ к основной части ответа просто с помощью:
body = value['body']
Проблема решена. Часть заголовка ответа больше не является проблемой.
[Отредактировано] Какой я глупый. Это просто указано в документе:http://code.google.com/p/python-rest-client/wiki/Using_Connection
Комментарии:
1. -1 потому что проблема явно связана с некоторыми внешними библиотеками (SOAP?), которые вы не упомянули ни в вопросе, ни в ответе.
2. На самом деле, вы правы. Я использую RESTful request( code.google.com/p/python-rest-client/wiki/Using_Connection ) чтобы запустить некоторую бизнес-логику в другом django, и полученный мной httpresponse действительно является коллекцией. Я не видел, чтобы это было указано в документе. Но я не игнорировал это намеренно. Я новичок в SOA. Вот почему я предположил, что RESTful работает именно так.