作者回复: 《RESTful Web Services Cookbook中文版》中的一段话,我截取出来: 将处理函数视为一个资源,使用 HTTP GET 来获取表述,其中包含处理函数输出。 使用查询参数来为处理函数提供输入。 GET /distance_calc?lats=47.610&lngs=-122.333&late=37.788&lnge=-122. GET /directions?from=Seattle,WA&to=San%20Francisco HTTP/1.1
作者回复: Jersery是JAX-RS的RI,如果你已经用了Spring,那不妨继续使用Spring MVC来开发你的REST服务,如果你的系统和Spring没什么关系,可以考虑用Jersery,我相信性能上大家应该都没什么问题的,毕竟它们都只做了自己的本职工作,想要性能好,把自己的服务逻辑优化优化倒是真的,少一次数据库交互比什么都管用。
作者回复: GraphQL出来也有一段时间了,感觉普及度不及Restful Web Service,如果是我自己选的话,会选Restful,更贴近HTTP的设计思想,毕竟是Roy Fielding自己推荐的。
作者回复: 要分开不同的。因为你有多个DataSource,各自独立设置。
作者回复: 这种URL都是有PATTERN的,你可以按URL PATTERN来做监控埋点。或者直接在代码里用Handler的拦截器对方法埋点。
作者回复: 这个点还是有待商榷的,个人不是很赞同你的看法。同一个URL用不同的HTTP方法是要约定的,无论什么URL都用一个POST来调用,看似简单无脑,但浪费了太多HTTP提供的能力,比如你丧失了HTTP缓存的能力。 /coffee/1 + Method才是你应该交付别人的文档里该写的东西,而不是只给个URL。 而到了HATEOAS中,服务是可描述可发现的,在没有到那个层次前,URL+Method就需要你来提供了。 在Rails提供的REST服务中,其实也有在资源后加动作的兼容方案,但那只是个兼容。 如果可以,还是希望能够遵循REST分隔来做设计。