У меня есть команда curl ниже, и мне нужно написать метод для этого.
Команда CURL:
curl -X POST "https://example.com:8443/api/rest/abc_service/123/upload/passwd" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "body=@abhifile.txt;type=text/plain"
Я написал ниже метод для того же, но он не работает.
Код:
def upload_passwd(self):
files = {'filename': '/root/Desktop/vdm/abhifile.txt'}
header = {
'Content-Type': "multipart/form-data"
}
self._request.headers.update(header)
response = self._request.post(operation='upload/passwd',
object_id=self.object_id, files=files)
REST-ответ, который я получаю с кодом выше:
Предоставленный класс ABC не имеет конструктора JsonObject или конструктора, аннотированного @ ConstructorProperties, который мог бы десериализовать объект JSON
Я также пытался выполнить операцию открытия файла с изменением кода ниже:
def upload_passwd(self):
f = open('/root/Desktop/vdm/abhifile.txt', 'rb')
header = {
'Content-Type': "multipart/form-data"
}
self._request.headers.update(header)
response = self._request.post(operation='upload/passwd', object_id=self.object_id,
data=f)
В приведенном выше случае я получаю сообщение об ошибке при открытии файла:
ValueError: операция ввода-вывода для закрытого файла