#java #programowanie Mirki tworzę restowy endpoint i mam problem, dodałem w nim parametr X który jest opcjonalny, nie może mieć też wartości domyślnej, natomiast wymaga go metoda wywoływana z serwisu i pytanie, czy mogę przeciążąć endpoiunty tzn ta sama metoda przykładowo post, ta sama ścieżka, ale np jeden parametr mniej lub więcej?
@Dominias: spring ci wyrzuci ambigious mapping, więc nie możesz. Ale możesz np zrobić to w logice w ten sposób; pobierasz obiekt z bazy, sprawdzasz czy parametr nie jest nullem -> jeśli nie jest, dajesz do kontrolera obiekt, jeśli jest nullem robisz z tego DTO i dajesz do kontrolera. Problemem może być typ zwracany, ale tu masz taki hack bo możesz użyć klasy Resource tylko to wymaga Sping Hateoas xD edit:
@Dominias: Jeżeli mówisz o RequestParam, który znajduje się w linku po znaku zapytania to możesz sobie poradzić poprzez zawężenie mapowania. Wystarczy że w RequestMapping uzupełnisz wartość param i możesz mieć dwa mapingi o tym samym urlu i metodzie.
Mirki tworzę restowy endpoint i mam problem, dodałem w nim parametr X który jest opcjonalny, nie może mieć też wartości domyślnej, natomiast wymaga go metoda wywoływana z serwisu i pytanie, czy mogę przeciążąć endpoiunty tzn ta sama metoda przykładowo post, ta sama ścieżka, ale np jeden parametr mniej lub więcej?
pobierasz obiekt z bazy, sprawdzasz czy parametr nie jest nullem -> jeśli nie jest, dajesz do kontrolera obiekt, jeśli jest nullem robisz z tego DTO i dajesz do kontrolera. Problemem może być typ zwracany, ale tu masz taki hack bo możesz użyć klasy Resource tylko to wymaga Sping Hateoas xD
edit: