Skip to content

Vision for 1.0 #8

@limenet

Description

@limenet

While #3 brings us closer to an easy-to-use bundle there are several things I envision to make this bundle ready for version 1.0.

Please note: this vision itself is still WIP

  • The bundle should not get in the way of doing this but rather make it easy to be used, loose coupling is the goal
  • The bundle should have sane defaults as to reduce the need for config and minimize boilerplate code
  • The bundle should be able to be used in new projects as well as existing projects using https://github.com/zircote/swagger-php
  • The bundle should make it clear what's needed to make it work, e.g. by using interfaces
  • The bundle should make validation as easy and quick as possible i.e. perform as much static analysis as possible of the project's usage of this bundle
  • The bundle should support multiple HTTP methods for a single route
  • The bundle should support nested structures and arrays in MapRequestPayload
  • The bundle should automatically add the correct response for failed validation when using MapQueryString and MapRequestPayload
  • The bundle should support API responses which contain additional structures such as messages/notifications or a status Refactor to use looser coupling #3
  • The bundle should rely on (tagged) interfaces and simplify usage using abstract classes Refactor to use looser coupling #3
  • The bundle should only handle actual route methods (i.e. not protected methods from traits) Refactor to use looser coupling #3
  • The bundle should use the new Symfony\Component\Routing\Attribute\Route instead of the deprecated Symfony\Component\Routing\Annotation\Route namespace Refactor to use looser coupling #3
  • The bundle should work in combination with other systems such as https://symfony.com/blog/new-in-symfony-6-3-mapping-request-data-to-typed-objects, see Support for Mapping request data #11

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions