提问者:小点点

钥匙斗篷。Put RealmRepresentation使用Admin API提供“无字符串参数构造函数/工厂方法从字符串值反序列化”


我想使用管理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。杰克逊。数据绑定。exc.MismatchedInputException:无法构造组织的实例。钥匙斗篷。陈述。idm。RealmRepresentation(尽管至少存在一个创建者):在[Source:(io.undertow.servlet.spec.ServletInputStreamImpl);com的行:1,列:1]中,没有字符串参数构造函数/工厂方法从字符串值(“{”RegistrationLowed:“true”,“rememberMe:”true})反序列化。fasterxml。杰克逊。数据绑定。exc.MismatchedInputException。来自com上的(MismatchedInputException.java:63)。fasterxml。杰克逊。数据绑定。反序列化上下文。com上的reportInputMismatch(DeserializationContext.java:1342)。fasterxml。杰克逊。数据绑定。反序列化上下文。com上的HandleMissingInstallator(反序列化context.java:1031)。fasterxml。杰克逊。数据绑定。值得。值实例化器_在com上创建FromStringFallbacks(ValueInstantiator.java:371)。fasterxml。杰克逊。数据绑定。值得。std.stdValue实例化器。在com上创建fromstring(StdValueInstantiator.java:323)。fasterxml。杰克逊。数据绑定。值得。豆瓣糖。com上的反序列化FromString(beandSerializerBase.java:1366)。fasterxml。杰克逊。数据绑定。值得。Beander_com上的反序列化其他(BeanDeserializer.java:171)。fasterxml。杰克逊。数据绑定。值得。Beander。在com上反序列化(BeanDeserializer.java:161)。fasterxml。杰克逊。数据绑定。ObjectReader_bind(ObjectReader.java:1574)在com上发布。fasterxml。杰克逊。数据绑定。ObjectReader。org上的readValue(ObjectReader.java:965)。jboss。放松点。插件。提供者。杰克逊。ResteasyJackson2供应商。readFrom(ResteasyJackson2Provider.java:135)位于org。jboss。放松点。果心拦截。AbstractReaderInterceptorContext。readFrom(AbstractReaderInterceptorContext.java:66)位于org。jboss。放松点。果心拦截。ServerReaderInterceptorContext。readFrom(ServerReaderInterceptorContext.java:61)位于org。jboss。放松点。果心拦截。AbstractReaderInterceptorContext。在org上继续(AbstractReaderInterceptorContext.java:56)。jboss。放松点。安全多塞塔。数字验证接收器。大约从(DigitalVerificationInterceptor.java:36)读取。。。


共1个答案

匿名用户

我犯了个愚蠢的错误

x = requests.put(url, headers=headers, json=params)