gpt4 book ai didi

java - JAX-RS 中 ContextResolver 的用途

转载 作者:太空宇宙 更新时间:2023-11-04 12:14:00 28 4
gpt4 key购买 nike

我想了解 JAX-RS 中上下文解析器的用途。在什么情况下我应该实现上下文解析器?有人可以用一些例子详细说明吗?

我引用了 JAX-RS 2.0 规范并发现了以下段落:

Context providers supply context to resource classes and other providers. A context provider class implements the ContextResolver interface and may be annotated with @Provider for automatic discovery. E.g., an application wishing to provide a customized JAXBContext to the default JAXB entity providers would supply a class implementing ContextResolver.

我不知道何时何地使用。

最佳答案

我已经使用 ContextResolver 将驼峰式大小写转换为下划线(请参见下面的示例),因此基本上您可以进行配置(就像文档所述)。

package com.example;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import javax.ws.rs.ext.ContextResolver;
import javax.ws.rs.ext.Provider;

@Provider
public class ObjectMapperContextResolver implements ContextResolver<ObjectMapper> {

private final ObjectMapper mapper;

public ObjectMapperContextResolver() {
mapper = new ObjectMapper();
mapper.setPropertyNamingStrategy(
PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES
);
}

@Override
public ObjectMapper getContext(Class<?> type) {
return mapper;
}
}

关于java - JAX-RS 中 ContextResolver 的用途,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39593133/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com