
com.github.anonymousmister.bootfastconfig.jackson.JacksonJsonParam Maven / Gradle / Ivy
package com.github.anonymousmister.bootfastconfig.jackson;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.anonymousmister.bootfastconfig.config.JsonPathArgumentResolver;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.io.InputStream;
/**
* @author mister
*/
public class JacksonJsonParam extends JsonPathArgumentResolver {
private final Logger LOGGER = LoggerFactory.getLogger(JacksonJsonParam.class);
private final ObjectMapper objectMapper;
public JacksonJsonParam(ObjectMapper objectMapper) {
super();
this.objectMapper = objectMapper;
}
@Override
public Object JsonStringToObject(Class> c, String val) {
if (c == String.class) return val;
try {
return objectMapper.readValue(val, c);
} catch (IOException e) {
LOGGER.error("JacksonJsonParamimpl ..... 入参转换错误", e);
}
return null;
}
@Override
public String objectToString(Object o) throws JsonProcessingException {
return objectMapper.writeValueAsString(o);
}
@Override
public T inputStreamToc(InputStream inputStream, Class c) throws IOException {
if (c == String.class) {
return (T) objectToString(objectMapper.readValue(inputStream, Object.class));
}
return objectMapper.readValue(inputStream, c);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy