Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. FWIW мы используем Джерси в качестве ее упакованных полных из функций (например, WADL, неявные представления, XML/JSON/Atom поддержка) имеет многочисленное и вибрирующее сообщество разработчиков позади него и имеет большой пружинная интеграция .
при использовании JBoss/SEAM Вы могли бы найти, что RESTeasy интегрируется немного лучше - но если Вы используете, Кидаются за Внедрением зависимости тогда, Джерси кажется самой легкой, самой популярной, активной и функциональной реализацией.
Моя команда и я используем Restlet экстенсивно, но не его функции JAX-RS. Я могу сказать Вам, что был очень впечатлен разработчиками Restlet и сообществом; они являются очень активными, занятыми, быстро реагирующими, и согласились на стабильную, эффективную, надежную, и эффективную платформу. Я сожалею, что не могу непосредственно обратиться к Вашему главному интересу, но я думал, что Вы могли бы найти мой опыт с Restlet ценным.
Мой коллега упоминает, почему мы используем RESTeasy для нашего текущего проекта в УСПОКОИТЕЛЬНЫЕ веб-сервисы в EE Java с RESTeasy (JAX-RS) :
Его ссылочная реализация, Джерси, не была выбрана, потому что мы испытали затруднения при интеграции его хорошо с EJB3 и Швом 2.0.
Мы используем реализацию RESTeasy JAX-RS, потому что мы не испытали никаких затруднений при интеграции его с нашим EJBs и Швом. Это также имеет достаточную документацию.
от Apache существует другая реализация, но я, haven’t попробовал его, потому что это использует более старую версию JAX-RS
Наконец, существую еще одна платформа для УСПОКОИТЕЛЬНЫХ веб-сервисов для Java под названием Restlet, но мы не одобрили его, потому что во время этой записи, это использует пользовательскую архитектуру, даже при том, что надлежащая поддержка JAX-RS находится в работах.
Кажется, что существует 4 достойных реализации JAX-RS, таким образом, Вы соглашаетесь, вероятно, с любым из них. Если это имеет значение я нашел Джерси (1.0.2) действительно хорошим до сих пор. Мои потребности являются довольно скромной, простой серверной службой, заботятся об инфраструктуре и так далее. И что Джерси делает вполне приятно.
Выяснилось, что с Apache Wink очень легко работать , поддерживает JAX-RS и имеет множество функций, выходящих за рамки стандарта.
Restlet также имеет обширный список расширений для Spring, WADL, XML, JSON. и многое другое, Джером Лувель
Рестлет ~ Основатель и ведущий разработчик ~ http://www.restlet.org