servlet icon indicating copy to clipboard operation
servlet copied to clipboard

Add nullability annotation based on JavaDoc

Open schnapster opened this issue 1 year ago • 2 comments

This morning I was greeted by a nice error in our production service:

java.lang.NullPointerException: getCookies(...) must not be null

Oof.

The docs of HttpServletRequest#getCookies() clearly state it may return null, however its 2024 and

  • noone reads docs, speaking strictly for myself, anyways =)
  • since early 2022, Jakarta Annotations v2.1 was released, and along with it nullability annotations are officially available in the Jakarta ecosystem

I have therefore given the JavaDocs of Jakarta Servlet a cursory look and implemented nullability annotations where I deemed them sufficiently indicated.

This should help all devs using modern IDEs and modern compilers (e.g. Kotlin): they will see warnings when accessing nullable values without explicit null checks.

I've probably missed some places, but I hope this PR by itself already provides enough value to the project to be merged.

Please let me know with any feedback or anything missing.

schnapster avatar May 21 '24 16:05 schnapster

Ahoi @markt-asf would you be willing to help me make this changeset land in the project? How can I make this move forward?

schnapster avatar Oct 17 '24 14:10 schnapster

Adding a dependency to the Servlet API is a big deal that needs a wider discussion and broad consensus. Personally, I'm not (yet) convinced of the need for this.

markt-asf avatar Nov 07 '24 15:11 markt-asf