Cookie zwraca NullPointerException

0

Cześć, napisałem funkcję poniżej by pobierac z plikow cookie moj token do dalszego dzialania w tej funkcji, ale niestety przy odpaleniu swaggera rzuca mi NullPointerException

                Cookie cookie = WebUtils.getCookie(req, CookieName.AUTHENTICATION);

wie ktoś może jak się przed tym uchronić, by nie wywalało mi w tym miejscu albo gdy cookie==null to nadpisywalo to cookie by wgl swagger mi sie uruchamiał,

z góry dzięki za pomoc

1

Jeśli dostajesz NPE, to albo:

  • cookie jest null, i robisz coś na nim, co powoduje NPE
  • req jest null

Jeśli to pierwszy case, to po prostu znaczy to że w requeście nie ma cistka CookieName.AUTHENTICATION i nie wyczarujesz go z nikąd.

1
kiowa72 napisał(a):

przy starcie serwera to normalne, ze tam nie ma zadnego cookie, bo sie nawet nie zalogowalem, potrzebuje tego cookie po autoryzacji do systemu, masz jakis pomysl jak to uzyskac?

No to po użyciu

Cookie cookie = WebUtils.getCookie(req, CookieName.AUTHENTICATION)

dopisz

if (cookie != null) {

w miejscu gdzie go używasz.

NullPointerException leci kiedy próbujesz zrobić na nullu, coś czego nie można, np

String value = null;
value.length(); // NullPointerException 
0
TomRiddle napisał(a):
kiowa72 napisał(a):

przy starcie serwera to normalne, ze tam nie ma zadnego cookie, bo sie nawet nie zalogowalem, potrzebuje tego cookie po autoryzacji do systemu, masz jakis pomysl jak to uzyskac?

No to po użyciu

Cookie cookie = WebUtils.getCookie(req, CookieName.AUTHENTICATION)

dopisz

if (cookie != null) {

w miejscu gdzie go używasz.

NullPointerException leci kiedy próbujesz zrobić na nullu, coś czego nie można, np

String value = null;
value.length(); // NullPointerException 

ok, probowalem tak ale nie wiem wlasnie tutaj co dac w else by przeszlo dalej nie wywalajac mi 500 przy odpalaniu swaggera

1
kiowa72 napisał(a):
TomRiddle napisał(a):
kiowa72 napisał(a):

przy starcie serwera to normalne, ze tam nie ma zadnego cookie, bo sie nawet nie zalogowalem, potrzebuje tego cookie po autoryzacji do systemu, masz jakis pomysl jak to uzyskac?

No to po użyciu

Cookie cookie = WebUtils.getCookie(req, CookieName.AUTHENTICATION)

dopisz

if (cookie != null) {

w miejscu gdzie go używasz.

NullPointerException leci kiedy próbujesz zrobić na nullu, coś czego nie można, np

String value = null;
value.length(); // NullPointerException 

ok, probowalem tak ale nie wiem wlasnie tutaj co dac w else by przeszlo dalej nie wywalajac mi 500 przy odpalaniu swaggera

Z jednej strony nie masz ciastka przy starcie, ale z drugiej strony chcesz użyć ciastka przy starcie?

1
kiowa72 napisał(a):

To ciastko ma być używane przy każdym requeście ale nie przy wywolaniu swaggera, de facto dopiero po zalogowaniu, bo wtedy bedzie zawierac potrzebne mi informacje.

No to nie rozumiem, po prostu zrób if (cookie != null) i tam zrób całą akcję z cookie'sem. Jak nie ma cookie'sa, to nie rób nic/zrób coś innego, co ma się dziać jak nie ma cookie'sa.

0

Myślenie Springiem?
Planuję mieć cookie, więc nie wiadomo jak, ale niech będzie ?

0

Ja nie rozumiem za bardzo czemu próbujesz to robić "ręcznie" w ten sposób. Rozumiesz że Spring Security potrafi to sam ogarnąć i dać ci w kontrolerze Principala jak ktoś jest zalogowany? o_O

1 użytkowników online, w tym zalogowanych: 0, gości: 1