Как использовать Джексона с веб-прокси - PullRequest
2 голосов
/ 30 января 2012

Я пишу класс для чтения из веб-службы JSON с использованием Джексона. Ранее при чтении из веб-службы я использовал собственный класс веб-браузера, чтобы иметь возможность задавать определенную информацию о соединении, такую ​​как прокси-хост / порт / имя пользователя / пароль и т. Д., А также значения времени ожидания чтения и соединения.

Есть ли способ сделать это в Джексоне изначально? Например. путем настройки параметров прокси в конфигурации?

Или я должен вернуться к получению ответа API в виде строки и затем использовать Джексон для его анализа?

К вашему сведению, это (упрощенный) код, который я использую.

URL configUrl = new URL("http://my.webservice.com/api");
ConfigClass localConfig = mapper.readValue(configUrl, ConfigClass.class);

Ответы [ 2 ]

1 голос
/ 30 января 2012

Я думаю, что вы должны сделать последнее, поддержка прокси не была добавлена ​​в Джексона.Плюс все довольно просто, используя класс Proxy.

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("127.0.0.1", 8080));
URL url = new URL("URL");
HttpURLConnection uc = (HttpURLConnection)url.openConnection(proxy);
uc.connect();
1 голос
/ 30 января 2012

Я бы получил ответ API как Reader (или InputStream), а затем использовал бы Джексон для его анализа. Джексон просто вызывает configUrl.openStream () изнутри, и нет никаких причин не делать это самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...