#programowanie #java #spring
Powiedzmy że w aplikacji mam funkcję dodawania nowych treści. Chcę teraz zrobić tak, żeby aplikacja rozsyłała powiadomienia do konkretnych użytkowników o nowej treści. I teraz pytanie, jaka jest koncepcja robienia tego zgodnie ze sztuką, aby odseparować te zagadnienia? Metoda warstwy serwisowej po zapisaniu do bazy nowej treści wywołuje metodę serwisu powiadomień, która rozsyła notyfikacje? Czy może w jakiś sposób podpiąć metodę notyfikacji jako
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

hej mirki, jak byście rozwiązali problem z edycją dwuwymiarowego słownika,

słownik valueName

ID|val1|val2
1| A| A
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Pytanie dotyczące JSONA w Spring. Mam Entity Lead(do przechowywania leadów) w którym znajduje się zagnieżdżona na zasadzie OneToMany (Lazy) lista komentarzy jako innych obiektów. Aplikacja webowa, która będzie wyświetlała liste leadów nie powinna pokazywać komentarzy od razu - dopiero po kliknięciu w odpowiedni lead, ładowane będą jego komentarze.

Z tego względu zastosowałem @JsonView, który odfiltrował mi pozycje, których nie chcę na razie wyświetlać - wiadomo performance.

Jak jednak przywołać komentarze do konkretnego
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@reconn: dokladnie tak jak mowisz. Zapnij sie na jakims evencie frontowym, w ktorym strzelasz pod kolejny endpoint backendowy, ktorym doczytasz same komentarze
  • Odpowiedz
@JacobTheLiar: thymeleaf widzi w ten sposób tylko elementy mapy modelu. Musiałbyś ten properties tam najpierw umieścić. Być może jest jeszcze jakiś helper, który może go pobrać ze springowego Environment, ale tego nie pamiętam w tym momencie, używałem thymeleafa dawno temu.
  • Odpowiedz
Lubicie debugować czyjś kod? :D

Nowe oferty dla Java Developerów ( ͡° ͜ʖ ͡° )
JarJobs_com - Lubicie debugować czyjś kod? :D 

Nowe oferty dla Java Developerów ( ...
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mireczki potrzebna porada.

Mam w aplikacji encje User która zawiera pole typu Address(które zawiera sobie elementy specyficzne dla adresu jak miasto, ulicę itp). Wszystko to okraszone relacją @OneToOne:

@OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
private
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Hej Mireczki
Pytanie: jak poprawnie zaimplementować metodę aktualizującą encję?
Najprostszy sposób:
Sprawdzić czy w userDto dane pole nie jest nullem (i generalnie czy się poprawnie waliduje) i jeśli tak to na obiekcie user ustawić tę wartość na polu a finalnie wywołać update na repozytorium (w kontrolerze naturalnie http method patch).

Tyle, że ifowanie każdego pola z dto czy jest ok itp wydaje mi się słabe i się nie skaluje.
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Generyczny_nick: No i przede wszystkim jakie rzeczy byś chciał walidować, napisałeś że nie dałbyś adnotacji (notnull) więc dopuszczasz możliwość że po prostu tego pola nie będzie. Więc po co np. to pole chciałbyś walidować?
  • Odpowiedz
Ma ktoś radę co zrobić z tym?

https://spring.io/guides/gs/securing-web/

Chciałem zrobić sobie tego tutoriala, ale z tego co przeczytałem pozmieniało się w springboocie i tutorial jest zwyczajnie przestarzały i nie ma tam takich annotacji jak:
@EnableWebSecurity czy @WebSecurityConfigurerAdapter przez co za bardzo nie wiem czy jest sens przerabiania takiego czegoś. Niby oficjalna dokumentacja, niby szatę graficzną spring.io pozmieniali a tutoriale pierwsze z brzegu nieaktualne.
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@wafel93: dwa osobne mechanizmy? Izolacja transakcji to jedno, a lockowanie zasobów to inna sprawa. Jasne, są przypadki, w których odpowiednia izolacja powoduje, że lockowanie czegokolwiek ma sens, ale to tylko przypadki, a nie reguła.

Analogicznie mógłbyś zapytać, po co w samochodzie hamulce oraz ręczny, jeśli CZASEM udałoby się z użyciem każdego z nich osiągnąć ten sam cel.
  • Odpowiedz
#java #spring
Frontend przysyła mi zapytanie GET: /api?lon=344⪫=123
W konsoli dostaję log
request received in EarthQuakeService: lon/lat

Teraz chcę odpytać zewnętrzne API mają już otrzymane parametry
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Karatte: Dzięki bardzo za opowiedź.

Jeszcze jest taka opcja która działa:

final String urlX = "[https://earthquake.usgs.gov/fdsnws/event/1/query?format=](https://earthquake.usgs.gov/fdsnws/event/1/query?format=){format}&maxradiuskm={maxradiuskm}&latitude={latitude}&longitude={longitude}";
  • Odpowiedz
#java #spring #jpa
Powiedzmy że mam formularz, w którym w jednym polu uploaduje plik. Chcę zrobić tak żeby w plik zapisał się na file systemie a ścieżka do niego w bazie. Jak powinno wyglądać pole w encji jpa reprezentujące ten plik? Czy da się skonfigurować spring data jpa tak żeby zapisywał w taki sposób?
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Blackhorn: tu raczej niema cokonfigurowac, mozesz wygenerowac hash dla pliku i zapisac plik z takim hashem i hash do bazy. mozesz tez zapisac formularz i masz id i z tym id zapisac plik. nigdzie nie jest powiedziane ze formularz musi byc 1:1 z tym co masz w bazie
  • Odpowiedz
@srgs: dokładnie. Modelowanie bazy na podstawie frontendu to raczej bad practice.

btw, z multipart file upload i tak tworzony jest plik tymczasowy, więc nie trzeba go kopiować, można zrobić "move".
  • Odpowiedz
Hej
Mam aplikację w springu która w kontrolerach, przy metodach odpowiedzialnych za np. post request przyjmuje między innymi parametr typu BindingResult, w ciele metody sprawdzam czy nie było błędu za pomocą result.hasErrors() i jeśli np. był to zwracam na stronie głównej "/strona?errors (albo success) -> i za pomocą thymeleaf th:if="${param.error}" wyświetlam odpowiedni monit.

Problem w tym, że chciałbym poza error i success móc przesyłać jakieś swoje parametry typu index?notUnicueNumber -> wyłapać to za pomocą
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Cześć. Tworzę aplikację serwerową (Java, Spring Boot) razem z klientem webowym (ReactJS). Będzie tam odczytywana między innymi temperatura z urządzeń dla konkretnego użytkownika. Aktualnie jeden z serwisów zbiera wszystkie pomiary i przy uzyciu kafka-stream patrzy czy został przekroczony próg i jeśli tak to zapisuje alarm do osobnego topicu (w tym topicu jest zawarty id usera). Chciałbym teraz zrobić jakąś komunikację z klientem, aby na bieżąco informować usera o alercie (wolałbym uniknąć okresowego
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@cycun: imo najłatwiej byłoby to zrobić na websocketach, autentykujesz się na początku z jwt i śmiga. kafka może roibć jako broker dla stompa? jeśli tak to nawet nie musisz niczego infrastrukturalnie dodawać
  • Odpowiedz
@oslet: makaron dlatego, że jak się wysypało to były próby zidentyfikowania problemu.
To nie kwestia adnotacji RequestMapping bo metody mają przypisane endpointy. Z resztą sprawdziłem, by się upewnić i dodałem RequestMapping ale dalej to samo.
  • Odpowiedz
#programowanie #java #spring
Mam klasy A i B extends A. Chcę zrobić formularz springowy, który po submicie będzie przekazywał wartości do wpisania do obiektów A lub B, w zależności od tego, co chce użytkownik. Jak zrobić metody get/post kontrolera, który w zależności od okoliczności będzie umieszczał otrzymane parametry w typie A lub B? Jaki to typ, będzie wiadomo dopiero po otrzymaniu wpisanych danych na podstawie obecności
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Blackhorn: Różne struktury danych to zasadniczo różne endpointy. Zmiana sposobu obsługi może leżeć w meta-danych (z nagłówków http) jako precondition, ale tu potrzebny framework, który się nie boi że ktoś o polimorfizm zapyta.

Kolejny problem jest taki, że struktury danych nie powinny się rozszerzać przez dziedziczenie, bo dziedziczenie nie jest od tego (mimo, że tak uczą składni obiektów) - albo są to dwie struktury z różnych kontekstów z podobnymi polami
  • Odpowiedz