Keycloak. Помещение RealmRepresentation с использованием Admin API не дает «конструктор аргумента String / метод фабрики для десериализации из значения String» - PullRequest
0 голосов
/ 29 января 2020

Я хочу изменить настройки в моей области, используя Admin API. Следующий код GET работает

url = keycloak_url + '/admin/realms/master'
headers=...
requests.get(url, headers=headers)

Однако, когда я пытаюсь сделать PUT, я получаю ошибку 500.

params = dict(registrationAllowed=True, rememberMe=True)
# both below don't work
x = requests.put(url, headers=headers, json=json.dumps(params))
x = requests.put(url, headers=headers, data=params)

Ошибка в журналах сервера:

Неполученная ошибка сервера: com.faster xml .jackson.databind.ex c .MismatchedInputException: Невозможно создать экземпляр org.keycloak.representations.idm.RealmRepresentation (хотя существует хотя бы один создатель): нет конструктора аргумента строки / метода фабрики для десериализации из значения String ('{"registrationAllowed": true, "RememberMe": true}') в [Source: (io.undertow.servlet.spe c .ServletInputStreamImpl); строка: 1, столбец: 1] на com.faster xml .jackson.databind.ex c .MismatchedInputException.from (MismatchedInputException. java: 63) на com.faster xml .jackson.databind.DeserializationContext .reportInputMismatch (DeserializationContext. java: 1342) на com.faster xml .jackson.databind.DeserializationContext.handleMissingInstantiator (DeserializationContext. java: 1031) на com.faster xml .jackson.databind.deti.Vision. ._createFromStringFallbacks (ValueInstantiator. java: 371) в com.faster xml .jackson.databind.deser.std.StdValueInstantiator.createFromString (StdValueInstantiator. java: 323) в com.faster xml. .deser.BeanDeserializerBase.deserializeFromString (BeanDeserializerBase. java: 1366) на com.faster xml .jackson.databind.deser.BeanDeserializer._deserializeOther (BeanDeserializer. java: 171) на com.faster * 10. .databind.deser.BeanDeserializer.deserialize (BeanDeserializer. java: 161) на com.faster xml .jackson.databind.ObjectReader._bind (ObjectRead er. java: 1574) на com.faster xml .jackson.databind.ObjectReader.readValue (ObjectReader. java: 965) на org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider.readFrom (ResteasyJackson) . java: 135) в org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.readFrom (AbstractReaderInterceptorContext. java: 66) в org.jboss.resteasy.core.interception.ServerReaderInterceptorContext.readromoror (10). : 61) at org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.proceed (AbstractReaderInterceptorContext. java: 56) в org.jboss.resteasy.security.doseta.DigitalVerificationInterceptor.aroundReadFrom (цифровая классификация) ...

1 Ответ

0 голосов
/ 31 января 2020

Глупая ошибка на моей стороне, это

x = requests.put(url, headers=headers, json=params)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...