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
Wszystko
Najnowsze
Archiwum
cycun
- 0
konto usunięte
- 1
@cycun: Websockety?

tempname0626
- 0
@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ć
#programowanie #spring #java
Jest jakaś stronka pozwalająca zobaczyć na jakiego SQLa zostanie zmapowana customowa metoda Spring Data JPA?
Jest jakaś stronka pozwalająca zobaczyć na jakiego SQLa zostanie zmapowana customowa metoda Spring Data JPA?
Kto mi podpowie czemu wysłanie formularza na /registration skutkuje zapisem w db a wysłanie go na / nie skutkuje niczym poza uaktywnieniem alertu przez th:if?
# /
https://pastebin.com/PmQUAawV
#/registration
https://pastebin.com/EqcgN40w
# /
https://pastebin.com/PmQUAawV
#/registration
https://pastebin.com/EqcgN40w
- 0
@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.
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.
@Generyczny_nick może ten .js który w jednym masz wykomentarzowany w drugim nie
#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
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
- 1
@Blackhorn: command object pattern gdzie bedzie pelny zestaw danych a w kontrolerze w zaleznosci od otrzymanych info tak beda budowane klasy domenowe
- 3
@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
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
- 1
Ktoś wie jak w #spring #java dostać się do każdego elementu typu "features"?
https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&maxradiuskm=2000.0&latitude=30.21&longitude=12.9
Próbowałem z użyciem Jacksona oraz RestTemplate i bez skutku
https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&maxradiuskm=2000.0&latitude=30.21&longitude=12.9
Próbowałem z użyciem Jacksona oraz RestTemplate i bez skutku
com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of [Ljava.lang.Object; out of >START_OBJECT tokenat [Source: (PushbackInputStream); line: 1, column: 1]
źródło: comment_JQJimzUMThCWIusqJSnIcypADbE7cHP7.jpg
Pobierz- 2
@borrow: http://www.jsonschema2pojo.org/ wrzuć tutaj jsona z odpowiedzią z api i stworz z niego model w postaci klas javy a następnie rzutuj nie na Object tylko wlasnie na główną klasę którą wygeneruje ci ta apka
- 0
Co jest najlepsze w #java #spring do konsumowania jsonów dostępnych przez API pewnej stronki?
RestTemplate jest ok? https://spring.io/guides/gs/consuming-rest/
Jak mam wysłać parametry typu ?lang=pol&name=abc? Mam kleić stringa na podstawie inputu z front endu?
RestTemplate jest ok? https://spring.io/guides/gs/consuming-rest/
Jak mam wysłać parametry typu ?lang=pol&name=abc? Mam kleić stringa na podstawie inputu z front endu?
@borrow: ja ci dam klejenie stringa. Od przekazywania parametrów jest mapa. JSON parsuje jackson, na przykład.
- 0
@borrow:
@GetMapping(value="/api",params = {"lon","lat"})
String welcome(@RequestParam("lon") Integer lon, @RequestParam("lat") Integer lat) {//"name" use when not- 1
#java #spring #mongodb
Normalnie do tworzenia aplikacji używam Javy, Springa, Spring Data, relacyjnych baz danych (bo to wszystko znam).
Teraz jednak chcę strzelać do pewnego API (wiele różnych strzałów), które zwraca mi dane (JSON-y nawet po kilka MB), wrzucać je do bazy, żeby potem to przetwarzać (zrobić jakieś zliczenia, agregacje itd).
Pomyślałem,
Normalnie do tworzenia aplikacji używam Javy, Springa, Spring Data, relacyjnych baz danych (bo to wszystko znam).
Teraz jednak chcę strzelać do pewnego API (wiele różnych strzałów), które zwraca mi dane (JSON-y nawet po kilka MB), wrzucać je do bazy, żeby potem to przetwarzać (zrobić jakieś zliczenia, agregacje itd).
Pomyślałem,
@mk321: przede wszystkim dlaczego w ogole spring? Ma to działać gdzieś webowo? To jeszcze tego nie potrzebujesz. Jesli chcesz coś lekkiego do endpointów to możesz użyć jakiejś lekkiej biblioteki (jak ratpack czy javalin). Jeśli chcesz mongo to udostępnia driver do javy, mający nawet całkiem dużo metod napisanych już za Ciebie.
@mk321: zamiast mongo, postgresql i ichnia obsługa jsonów. Dla kogoś zaznajomionego z normalnymi relacyjnymi bazami jest dużo prostsze
#programowanie #java #spring #springboot #maven
Jeśli robicie małą aplikację w Spring Boocie to po prostu uruchamiacie ją jako JAR.
Ale co jak do tej aplikacji ma dojść jakiś mały frontend (np. formularz, który będzie strzelał do tego backendu i jakaś pobierana lista)?
Kiedyś
Jeśli robicie małą aplikację w Spring Boocie to po prostu uruchamiacie ją jako JAR.
Ale co jak do tej aplikacji ma dojść jakiś mały frontend (np. formularz, który będzie strzelał do tego backendu i jakaś pobierana lista)?
Kiedyś
Ale ja nie potrzebuję oddzielnej aplikacji (dodatkowo problem dla adminów, bo się komplikują wdrożenia)
@mk321: może czas zmienić adminów, jeśli ogarnięcie frontu i backendu osobno to problem?
@mk321: jak na moje to wystarczy wrzucic fronty do katalogu static w resources i beda serwowane przez serwer z jarki.
Mozesz sobie podpiac zeby podczas budowania mavenem/gradlem odpalal sie jakis webpack (czy co to sie teraz uzywa na rakowych frontach ;p) i jako target mial static
Mozesz sobie podpiac zeby podczas budowania mavenem/gradlem odpalal sie jakis webpack (czy co to sie teraz uzywa na rakowych frontach ;p) i jako target mial static
- 0
#java #spring #springboot #jms #programowanie #notification
Cześć Mirki,
tworzę sobie aplikację z użytkownikami i projektami i chciałbym stworzyć funkcjonalność powiadomień w rzeczywistym czasie pomiędzy użytkownikami. Czyli dany użytkownik A przypisał projekt użytkownikowi B to użytkownik B na przeglądarce powinien dostać w jakimś dymku lub ukryte pod jakimś przyciskiem powiadomienie że ma nowy projekt. Aplikację robię w oparciu o JAVA Spring Boot.
Cześć Mirki,
tworzę sobie aplikację z użytkownikami i projektami i chciałbym stworzyć funkcjonalność powiadomień w rzeczywistym czasie pomiędzy użytkownikami. Czyli dany użytkownik A przypisał projekt użytkownikowi B to użytkownik B na przeglądarce powinien dostać w jakimś dymku lub ukryte pod jakimś przyciskiem powiadomienie że ma nowy projekt. Aplikację robię w oparciu o JAVA Spring Boot.
- 1
@kto3: A jak z wydajnością? Trzeba robić zapytania o zmianę? Czy tylko wystarczy zwykły nasłuch socket’a dla danego usera?
@dzimen: reactor w ogóle nie rozwiązuje Ci twojego problemu, a JMS tylko połowicznie, bo i tak klient musi jakoś "pobrać" te notyfikacje.
Połączenie Websocketem pozwala na to, żeby klient dostał powiadomienie i na nie zareagował.
Połączenie Websocketem pozwala na to, żeby klient dostał powiadomienie i na nie zareagował.
Szukam rekomendacji kursów z zakresu Java i Spring
Coś co pozwoli mi być lepszym juniorem, albo pozwoli przeskoczyć wyżej
Może jakieś blogi warte obserwacji?
Z góry dzięki (✌ ゚ ∀ ゚)☞
#programowanie #java #spring #backend
Coś co pozwoli mi być lepszym juniorem, albo pozwoli przeskoczyć wyżej
Może jakieś blogi warte obserwacji?
Z góry dzięki (✌ ゚ ∀ ゚)☞
#programowanie #java #spring #backend
Komentarz usunięty przez moderatora

- 0
#java #naukaprogramowania #spring #springboot #springsecurity #angular #typescript spring security serwis angular Hej mam w swojej apce, zrobuione logowanie za pomocą loginForm() jak w postmanie wysyłam POST na /login?username=user&password=user to poprawnie mnie loguje, ale jak próbuje wysłać posta za pomocą serwisu w Angularze to wysyła się tylko OPTIONS i zwraca 403, domyślam się że chodzi o CORS ale w
@infamia: nie zdążyłem edytować:
angular pewnie bije z innego adresu niż stoi twój serwer i Twoje security blokuje options na tym styku.
1. W security dodaj .cors().disable() [czy jakos tak]
2. Reverse proxy
3. Spermituj wszystkie options
4. Poprawnie zkonfiguruj cors
angular pewnie bije z innego adresu niż stoi twój serwer i Twoje security blokuje options na tym styku.
1. W security dodaj .cors().disable() [czy jakos tak]
2. Reverse proxy
3. Spermituj wszystkie options
4. Poprawnie zkonfiguruj cors
- 0
@infamia: poczytaj jak zakodzić Spring Security Policy, jak masz klasę z adnotacją
Więcej info tutaj:
https://github.com/spring-projects/spring-data-examples/tree/master/rest/security#writing-a-security-policy
@EnableWebSecurity to robisz na niej coś takiego:.authorizeRequests()
.antMatchers("/api/login").permitAll()Więcej info tutaj:
https://github.com/spring-projects/spring-data-examples/tree/master/rest/security#writing-a-security-policy
Cześć,
Pytanko odnośnie streamów w javie a konkretnie filtrowania - czy jest możliwe filtrowanie po wczesniej zdefiniowanej liście stringów?
np. mamy listę miast w Polsce i chcemy uzyskać listę miast bez miast z Podkarpacia ( ͡° ͜ʖ
Pytanko odnośnie streamów w javie a konkretnie filtrowania - czy jest możliwe filtrowanie po wczesniej zdefiniowanej liście stringów?
np. mamy listę miast w Polsce i chcemy uzyskać listę miast bez miast z Podkarpacia ( ͡° ͜ʖ
@SiemkaKolego: Tylko zamiast listy użyj set-u. Lepsza złożoność dla contains.
https://infotechgems.blogspot.com/2011/11/java-collections-performance-time.html
https://infotechgems.blogspot.com/2011/11/java-collections-performance-time.html
@SiemkaKolego: .filter zostawia elementy spełniające dany warunek, więc tak, negacja jest prawidłowa. To nie jest "odfiltrowanie" ( ͡° ͜ʖ ͡°)
Próbuję w Eclipsie zbuildować projekt, to pokazuje mi błędy, ale jak builduje go za pomocą Mavena (opcje clean build) w Eclipsie, to wszystko jest ok. Są tu jakieś opcje do wybrania czym ma być buildowany projekt, czy jest to czymś innym spowodowane?
#spring #eclipse #programowanie #java
#spring #eclipse #programowanie #java
Komentarz usunięty przez moderatora
- 1
@marylin17: wejdź w preferences\maven\installations - masz tam do wyboru wbudowanego w eclipse, albo podajesz ścieżkę, gdzie masz zainstalowanego w systemie
@PieceOfShit: tak, aws
Komentarz usunięty przez moderatora
- 2
#programowanie #java #spring #testowanieoprogramowania #junit
Polecicie jakiś tutorial do pisania testów jednostkowych aplikacji w Springu? (Najlepiej przy użyciu JUnit, Mockito.)
Większość tutoriali o testach skupia się na samym JUnit albo o tym jak w teorii pisać testy.
Samego JUnita nauczyć się jest łatwo, a teorię o tym jak i co powinno się testować to potem sobie
Polecicie jakiś tutorial do pisania testów jednostkowych aplikacji w Springu? (Najlepiej przy użyciu JUnit, Mockito.)
Większość tutoriali o testach skupia się na samym JUnit albo o tym jak w teorii pisać testy.
Samego JUnita nauczyć się jest łatwo, a teorię o tym jak i co powinno się testować to potem sobie
@mk321: jak podnosisz context springowy to masz testy integracyjne. Oddzielne testy na kazda klase i testujesz wszystko co w danym pakiecie jest wystawione, a nie tylko publiczne metody. Junit4 skoro mowimy o runnerach, wwiec imo mockitorunner, albo dla jakichs utilsow to parametryzowany runner. Controllery sie testuje z mockmvc I controlleradvice wiec powinno tez walidacje i odpowiedzi na bledy pokryc.
@mk321: testuj logikę a nie czy springowe adnotacje działają, najlepiej też jak nic nie mockujesz
Jeśli testujesz metodę kontrolera który wola serwis który jedyne co robi to wola repo żeby zapisać encje - robisz to źle. W ten sposób przetestowales czy spring działa. Pracownicy pivotala pewnie się ucieszą z dodatkowego testu ( ͡° ͜ʖ ͡°)
Kluczem nie jest 100% coverage-u tylko mądre przetestowanie funkcjonalności, logiki biznesowej
Jeśli testujesz metodę kontrolera który wola serwis który jedyne co robi to wola repo żeby zapisać encje - robisz to źle. W ten sposób przetestowales czy spring działa. Pracownicy pivotala pewnie się ucieszą z dodatkowego testu ( ͡° ͜ʖ ͡°)
Kluczem nie jest 100% coverage-u tylko mądre przetestowanie funkcjonalności, logiki biznesowej
Dzisiaj Spring Boot 2.0 Projects (July 2018)
https://www.packtpub.com/packt/offers/free-learning
#packtpubfreelearning #spring #springboot
odpowiedź
https://www.packtpub.com/packt/offers/free-learning
#packtpubfreelearning #spring #springboot
odpowiedź
źródło: comment_oxCSNOtF2lEIr6VRKPAi5KA3LwQjU5co.jpg
Pobierz@konik_polanowy: GO GO GADGET SPRING SHOES
źródło: comment_IlYprgW5vhx3SSElyUXoBcj2PDIZhe5l.jpg
Pobierz@konik_polanowy: dziekuje :)
Czy mógłby ktoś mi podpowiedzieć jaki mechanizm odpowiada za to, że jak mam w springu metodę
np.
np.
findByUsername, która znajduje się w interfejsie, który rozszerza interfejs spring CrudRepository, to działa ona bez żadnych deklaracji? Czy interfejsy nie są własnie po to aby dopiero powiedzieć co ma dana klasa robić? Chyba, że jest to gdzieś zadeklarowane, ale nie mogę tego znaleźć. Jak istnieje interfejs, to musi być również klasa, która go- 1
@marylin17: Tylko w repozytoriach
Komentarz usunięty przez moderatora
Czołem! Słyszeliście coś o akademiaspring.pl? Orientujecie się mireczki czy warto? Do jutra są zapisy i zastanawiam się, czy nie spróbować. Cena jest spora i wolałbym posłuchać opiniii :D
#programowanie #spring #java
#programowanie #spring #java
@tony_brasci: na temat kosztów się nie wypowiem, bo to trzeba do czegoś odnieść, a ja nie mam do czego - nigdy mnie kursy / bootcampy nie interesowały
moja rada jest taka - weź sobie rozkład kursu i zrób to samo po swojemu. to ma 2 zalety:
1. nauczysz się tego co jest w planie
2. nauczysz się jak się uczyć.
jeśli gdzieś utkniesz to nie ma problemu - to nie
moja rada jest taka - weź sobie rozkład kursu i zrób to samo po swojemu. to ma 2 zalety:
1. nauczysz się tego co jest w planie
2. nauczysz się jak się uczyć.
jeśli gdzieś utkniesz to nie ma problemu - to nie
- 1
@secret_passenger: W zasadzie takie podejście zastosowałem gdy uczyłem się ETL i przyniosło zamierzony skutek. Także jak najbardziej się zgadzam z takim podejściem. Teraz po prostu chciałem mieć ustrukturyzowany plan nauki, ale w sumie czemu nie iść według rozkładu, który jest przygotowany na stronie i robić to po swojemu :D
Jaka jest dobra praktyka w przypadku gdy mam stronkę z formularzem do edycji modelu ale nie chcę w formularzu dawać inputów do edycji wszystkich pól? Chowamy wszystkie nieużywane atrybuty do hiddenów czy też w handlerze zaczytujemy jeszcze raz model z bazy i nadpisujemy tylko pola do których chcemy dać możliwość edycji? Czy też jest jeszcze jakieś inne rozwiązanie (trzymanie obiektu w sesji?)
#spring #java #programowanie #
#spring #java #programowanie #
@Lizbona: Hidden input user i tak może Tobie zmienić. Bo stronie backendu zawsze weryfikuj przysłane przez usera dane. W tym przypadku wykorzystujesz tylko te na których edycję zezwalasz.
- 0
@klaun-szyderca: ok, czyli to ten sposób o którym pisałem: czyli doczytanie sobie stanu najpierw przed zapisem, skopiowanie tego co chcę i potem zapis. Tylko tak się zastanawiałem czy nie ma jakiegoś sprytniejszego springowego onelinera na to żebym nie wynajdował jeszcze raz koła :)
Hej
Zastanawiam się jak w aplikacji opartej o spring boota + spring security + vaadin rozwiązać problem by użytkownik miał dostęp tylko do swoich zasobów z db.
Załóżmy, że mamy aplikację typu CRUD (jakąś todo listę). Pierwotnie zakładałem, żeby w warstwie service wyciągającej zadania użytkownika (po id lub po jakiejś jego nazwie) z repozytorium springowego (w oparciu o hibernate) jakoś wyciagać id zalogowanego użytkownika i przekazywania go do metody (zdefiniowanej w interfejsie implementujacym crud
Zastanawiam się jak w aplikacji opartej o spring boota + spring security + vaadin rozwiązać problem by użytkownik miał dostęp tylko do swoich zasobów z db.
Załóżmy, że mamy aplikację typu CRUD (jakąś todo listę). Pierwotnie zakładałem, żeby w warstwie service wyciągającej zadania użytkownika (po id lub po jakiejś jego nazwie) z repozytorium springowego (w oparciu o hibernate) jakoś wyciagać id zalogowanego użytkownika i przekazywania go do metody (zdefiniowanej w interfejsie implementujacym crud
- 2
Pytanie jak się aplikacja zachowa w momencie gdy naraz będzie zalogowanych więcej użytkowników?
@Generyczny_nick: normalnie, każdy z tych użytkowników będzie 'istniał' w obrębie własnego kontekstu.
A może spring security (podejrzewam, że tak) oferuje już gotowe mechanizmy do rozwiązania tego
- 2
@Generyczny_nick: Spring Securty dostarcza sporo mechanizmów, które mogą to rozwiązać. Najprościej jest zrobić w repo metodę
Pamiętaj, że każdy użytkownik ma swoją sesję, więc nazwa użytkownika zwrócona przez Spring Security będzie za każdym razem odzwierciedlała osobę, która wykonała request.
getTodosByUserName(String username) a w kontrolerze najpierw ze Spring Security pobrać nazwę obecnie zalogowanego użytkownika, a później wywolać w/w metodę i zwrócić wynik.Pamiętaj, że każdy użytkownik ma swoją sesję, więc nazwa użytkownika zwrócona przez Spring Security będzie za każdym razem odzwierciedlała osobę, która wykonała request.























