Why did you not re-raise this preflop? You're significantly behind exactly 2 hands, one of which you have an over to, and this hand significantly loses value on most flops while putting a scare card to others on most flops.
That said, he sucked out on you. You had him destroyed, he called your re-raise with a gut shot, and you call that river all day long, it's a 1/4 pot bet (yes I realize it was all-in, but he was pot committed). After the flop you played it fine I thought, maybe a re-raise on the flop just because of the spade draw and possibly you can get away from this if you can put him on a set or 2-pair.
As played, even if he folds on all non-straight boards (highly unlikely he folds if the A hits), you made money here. He was drawing to 4 outs and barely got any implied odds
out of it. Bad play by him, not a horrible play by you. Like I said I do think you need to re-raise this preflop but once you called this play isn't terrible. He sucked out on you, that happens in poker.