Giter Site home page Giter Site logo

contributte / apitte-skeleton Goto Github PK

View Code? Open in Web Editor NEW
40.0 3.0 17.0 2.08 MB

๐ŸŽ API / REST API / JSON API / PSR-7 / Middlewares project skeleton based on Nette Framework (@nette), Apitte (@apitte), Doctrine (@nettrine) and Contributte (@contributte) libraries by @f3l1x.

Home Page: https://examples.contributte.org/apitte-skeleton/

License: MIT License

Makefile 4.39% PHP 87.33% HTML 7.95% Dockerfile 0.33%
nette-framework projectte template api project contributte nettrine apitte

apitte-skeleton's Issues

Deserialization in requests is not working

Hi,
I have trouble deserializing a datetime object from request body.

I added birthDate field to CreateUserReqDto. Should I deserialize it manually?

In a documentation I found that DTOs should inherit Apitte\Core\Mapping\Request\BasicEntity and presumably override normalize method (which is not mentioned in the documentation). But it doesn't work.

I guess the same problem is going to be with other non-primitive types.

Symfony AnnotationLoader missing

AnnotationLoader has been deprecated for a while in < 7. It has been replaced by AttributeLoader since then.

Please, change symfony.serializer.annotationLoader in services.neon from Symfony\Component\Serializer\Mapping\Loader\AnnotationLoader to Symfony\Component\Serializer\Mapping\Loader\AttributeLoader.

config.neon does not allow App\Controllers\Xyx... set up

I need to send some params from config.neon to controller. So I tried to write

parameters:
	crm:
		token: 'qeryuteykljkmjdhgvfarerhhhilhiohiohfrtxgzx'

services:
	- App\Controllers\CampaignsController(%crm.token%)

But this throws me an erro which says: Multiple services of type App\Controllers\CampaignsController found: 01, resource.App_Controllers.3.

I dont see any other controller with the same name. It seems Apitte does not allowe to configurate controllers via

public function __contruct($crm_token) {}

How can I do it if it is possible?

Service of type Contributte\Middlewares\Application\IApplication not found.

Hi, I installed apitte-skeleton on apache without docker and now when I run application I get this exception.

Internal Server Error
On Tracy: \MissingServiceException: Service of type Contributte\Middlewares\Application\IApplication not found.

Before I have also problem with
Error: Call to undefined method Symfony\Component\Validator\ValidatorBuilder::enableAnnotationMapping()
but thats now somehow ok.

I feel like my computer trolls me. Does anyone know what to do? Thanks.

JsonDispatcher misuses @Tag annotation

I believe that Apitte\Core\Annotation\Controller\Tag annotation was created for documentation purpose (or at least it is used for OpenAPI definition generation). Therefore, all request bodies cannot have the same name "request.dto".

App\Model\Api\Dispatcher\JsonDispatcher

		// Get incoming request entity class, if defined. Otherwise, skip transforming.
		if (!($entity = $endpoint->getTag('request.dto'))) {
			return $request;
		}

How to inject request and response to __construct

I am not sure but it seems it is not possible to inject request and response to the constructor of the BaseController. Is it possible or not? I want to achieve something like this

namespace App\Controllers;

use Apitte\Core\Http\ApiRequest;
use Apitte\Core\Http\ApiResponse;

/**
 * @GroupPath("/api")
 * @GroupId("api")
 */
abstract class BaseController implements IController
{

  /**
   * ApiRequest
   */
  public $request;

  /**
   * ApiResponse
   */
  public $response;

  public function __construct(ApiRequest $request, ApiResponse $response)
  {
    $this->request = $request;
    $this->response = $response;
  }

or this

namespace App\Controllers;

use Apitte\Core\Http\ApiRequest;
use Apitte\Core\Http\ApiResponse;

/**
 * @GroupPath("/api")
 * @GroupId("api")
 */
abstract class BaseController implements IController
{

  /**
   * @inject
   * @var ApiRequest
   */
  public $request;

  /**
   * @inject
   * @var ApiResponse
   */
  public $response;

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.