Когда использовать @QueryParam против @PathParam

Я не задаю вопрос, который уже задан здесь: В чем разница между @PathParam и @QueryParam

Это «лучшие практики» или конвенционный вопрос.

Когда бы вы использовали@PathParam против@QueryParam.

То, что я могу думать о том, что решение могло бы использовать два, чтобы дифференцировать информационную структуру. Позвольте мне проиллюстрировать ниже мой LTPO - менее чем идеальное наблюдение.

Использование PathParam может быть зарезервировано для информационной категории, которая будет красиво переходить в ветку информационного дерева. PathParam может быть использован для детализации иерархии классов объектов.

Принимая во внимание, что QueryParam может быть зарезервирован для указания атрибутов, чтобы найти экземпляр класса.

Например,

/Vehicle/Car?registration=123 /House/Colonial?region=newengland

/category?instance

@GET
@Path("/employee/{dept}")
Patient getEmployee(@PathParam("dept")Long dept, @QueryParam("id")Long id) ;

против/category/instance

@GET
@Path("/employee/{dept}/{id}")
Patient getEmployee(@PathParam("dept")Long dept, @PathParam("id")Long id) ;

против?category+instance

@GET
@Path("/employee")
Patient getEmployee(@QueryParam("dept")Long dept, @QueryParam("id")Long id) ;

Я не думаю, что существует стандартное соглашение об этом. Есть? Тем не менее, я хотел бы услышать о том, как люди используют PathParam против QueryParam, чтобы дифференцировать свою информацию, как я иллюстрировал выше. Я также хотел бы услышать причину практики.

Ответы на вопрос(13)

Ваш ответ на вопрос