我有一个与Laravel一起制作的当前项目,现在需要创建一些API,以便客户端可以与我们的系统进行通信 . 但我不确定最好的办法是什么 .
我该如何处理Laravel方式?由于功能已经有效,我不确定我是否应该以某种方式验证和调整它们的请求,以便它适合当前正在运行的代码,或者完全创建另一个单独的函数来处理请求 .
对于验证,如果需要,我想使用FormRequest或扩展我自己的类 . 在验证失败时,我希望能够返回XML响应 . 我已经有了生成XML的函数,但是需要一种方法来返回它,并使用messages()方法中定义的自定义错误消息 .
任何方向将不胜感激 . 谢谢!
1 回答
所以,完全披露:我在处理xml和apis时创建了一些有用的包:
https://github.com/mtownsend5512/request-xml
https://github.com/mtownsend5512/response-xml
它们允许您自动将传入的xml转换为数组并将其合并到Request对象中,以便可以根据需要使用FormRequests进行验证 . 您还可以使用xml,甚至是请求应用程序的首选格式(json或xml)进行响应 .
最后,您可以在
render
方法中处理app/Exceptions/Handler.php
中的错误,如下所示:现在,只要您的应用程序遇到常见的Laravel异常,它就会返回json或xml中的api响应(取决于您的请求客户端更喜欢哪些) .