Cookie zwraca NullPointerException

Cookie zwraca NullPointerException
K7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 43
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

Kopiuj
                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

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
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.

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
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

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

dopisz

Kopiuj
if (cookie != null) {

w miejscu gdzie go używasz.

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

Kopiuj
String value = null;
value.length(); // NullPointerException 
K7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 43
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

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

dopisz

Kopiuj
if (cookie != null) {

w miejscu gdzie go używasz.

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

Kopiuj
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

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
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

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

dopisz

Kopiuj
if (cookie != null) {

w miejscu gdzie go używasz.

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

Kopiuj
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?

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
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.

AK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3561
0

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

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.