Best practice для relationships в REST API?
Пересмотрел огромное количество примеров, но не нашел единого подхода к передаче связей в REST API.Это потому, что его нет.К примеру, как лучше {"categoryId": 1} или {"category": {"id": 1}}?Как вам нравится, так и лучше.Я думаю это вообще неудобно, так как форма должен быть единым.Тогда не делайте так, вас никто не заставляет.Кто как решает эти проблемы?Вы забыли проблемы указать. В вопросе кроме "мне вот так не нравится" ничего нет.
правил нет, есть лишь общие соображения по созданию удобного апи
примеры уверен вырваны из контекста, оба примера плохие. 
Первый пример ориентируется на упрощение НО тогда если у тебя существует только ОДНО поле для категории (айди), тогда ты просто пишешь -> {"category": 1} (без айди в имени)
тоесть если и упрощать, так все упрощать, включая названия. 
Но скорее всего у категории существует не только идентификатор но также еще и название, что не упростить в одном поле, значит все равно нужно выводить как во втором варианте обьект category, с двумя полями id, и name
просто же выводить обьект с одним вложенным полем - это ненужная избыточность, такое лучше заменить на первый вариант. 
-------
по поводу: POST в одном формате, а при GET отдают в другом. 
за такое просто в морду бить надо, тк это подразумевает разработчику необходимость создания 2х разных представлений для структур данных одного и тогоже обьекта.