to co ich łączy to zmienna przekazuja przez adres a nie wartość, a dzieli że przy out zmienna musi być zainicjowana przed metoda, a w ref musi być zainicjowana w metodzie
czym sie rozni dziedzicienie controller od controllerbase
put aktualizuje lub dodaje obiekt, dlatego wymaga calego obiektu, patch tylko aktualizuje i wymaga zeby dany obiekt istnial bo w żądaniu wysylamy tylko id + dane do aktualizacji