Keycloak。使用Admin API放置RealmRepresentation时,“没有从字符串值反序列化的字符串参数构造函数/工厂方法”

问题描述 投票:0回答:1

我想使用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.fasterxml.jackson.databind.exc.MismatchedInputException:无法构造的实例org.keycloak.representations.idm.RealmRepresentation(尽管位于至少存在一个创建者):没有字符串参数构造函数/工厂从字符串值反序列化的方法('{“ registrationAllowed”:true,“ rememberMe”:true}'),位于[来源:(io.undertow.servlet.spec.ServletInputStreamImpl);行:1,列:1]在com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:63)在com.fasterxml.jackson.databind.DeserializationContext.reportInputMismatch(DeserializationContext.java:1342)在com.fasterxml.jackson.databind.DeserializationContext.handleMissingInstantiator(DeserializationContext.java:1031)在com.fasterxml.jackson.databind.deser.ValueInstantiator._createFromStringFallbacks(ValueInstantiator.java:371)在com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createFromString(StdValueInstantiator.java:323)在com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromString(BeanDeserializerBase.java:1366)在com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther(BeanDeserializer.java:171)在com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:161)在com.fasterxml.jackson.databind.ObjectReader._bind(ObjectReader.java:1574)在com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:965)在org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider.readFrom(ResteasyJackson2Provider.java:135)在org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.readFrom(AbstractReaderInterceptorContext.java:66)在org.jboss.resteasy.core.interception.ServerReaderInterceptorContext.readFrom(ServerReaderInterceptorContext.java:61)在org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.proceed(AbstractReaderInterceptorContext.java:56)在org.jboss.resteasy.security.doseta.DigitalVerificationInterceptor.aroundReadFrom(DigitalVerificationInterceptor.java:36)在...

jackson keycloak
1个回答
0
投票

我这边的严重错误,是

x = requests.put(url, headers=headers, json=params)
© www.soinside.com 2019 - 2024. All rights reserved.