make:resource will create an API resource. Not the same thing as resource controllers!
API Resources are used to transform the responses of APIs in a uniform value, you still need a controller to return them.
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
I am working on building a Web App with an Admin facing back-end, that is mainly laravel 7 and JS and a PWA client side app that is HTML 5, CSS, and JS. I am new to laravel and a little confused from reading the documentation and some stack overflow posts on when it is best or when I should make an api resource class vs a controller class.
My question is, what is the difference between resources and controller classes and what is the best practice for when to use them?
Would I use the controller classes strictly for the Admin facing CRUD and resource class for sending and retrieving JSON data from the back-end? It seems like they both can be used either way.
Please or to participate in this conversation.