所以,我最近在SOA上阅读了很多,并一直试图实现一些有用的东西。我从一个简单的博客开始,创建RESTful API。到现在为止还挺好。它完美地运作。但是,在编写将使用RESTful API的Web界面时,我开始脱掉头发。我不知道我做的是否正确。
例如,Web界面有一个管理面板。该管理面板通过file_get_contents和流选项向API发出HTTP请求。现在,API是localhost,以及Web界面,但整个过程有点慢。这是正确的吗?这是实施SOA的正确方法吗?此外,我正在处理一些重复的代码进行验证。我应该在哪里验证数据?在API或Web界面中?什么是最好的方法?
欢迎提示,教程,特别是书籍。这是使用Silex实现的,它建立在Symfony组件之上。
答案 0 :(得分:1)
我正是这样做的。尽管与localhost的连接起初看起来似乎是一种开销,但它是一项功能,因为您已准备好在任何地方部署Web界面应用程序并仍然使用您的API,这可能在任何地方。当然,你会在这上面加一些SSL。
对于验证,您应该对API进行验证并返回HTTP status codes以查找这些情况(例如,对于无效参数,“400 Bad Request”)。这样,任何其他客户端都可以解释来自API的响应,并将其视为显示他们想要的方式。对于您的Web界面,基于HTTP状态代码的漂亮小错误消息。
您还面临其他问题?此外,就一般的SOA架构而言,this book非常好。