PHPackages                             bmagnomax/maximus-api - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. bmagnomax/maximus-api

ActiveLibrary[API Development](/categories/api)

bmagnomax/maximus-api
=====================

A package for handling APIs in the Laravel applications.

24PHP

Since Aug 17Pushed 2y ago1 watchersCompare

[ Source](https://github.com/bmagnomax/maximus-api)[ Packagist](https://packagist.org/packages/bmagnomax/maximus-api)[ RSS](/packages/bmagnomax-maximus-api/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

API Maximus
===========

[](#api-maximus)

Bem-vindo ao pacote de API Maximus. Aqui você encontrará informações detalhadas sobre a configuração, os endpoints disponíveis e como usá-los.

Instalação
----------

[](#instalação)

Para começar a usar o pacote `bmagnomax/maximus-api` em seu projeto Laravel, siga estas etapas:

1. Instale o pacote via Composer:

    ```
    composer require bmagnomax/maximus-api
    ```

---

Configuração
------------

[](#configuração)

No arquivo `config/app.php`, adicione o seguinte no array `providers`:

```
'providers' => [
    // ...
    MaximusApi\MaximusApiServiceProvider::class,
],

```

Para publicar o arquivo de configuração `maximus.php`, execute o comando artesão abaixo:

```
php artisan vendor:publish --provider="MaximusApi\MaximusApiServiceProvider"
```

O arquivo `maximus.php` será então criado dentro do seu diretório `config`.

Antes de usar a API, você precisará configurar o arquivo `config/maximus.php` com os modelos que deseja expor e outras configurações. Abaixo está um exemplo de configuração:

```
return [
    'models' => [
        'user' => App\Models\User::class,
        'post' => App\Models\Post::class,
        'comment' => App\Models\Comment::class,
        // Adicione outros modelos aqui
    ],
    'response_format' => 'json', // Opções: 'json' ou 'object'
    'path_models' => 'App\Models\\'
];
```

**Exemplo do controller para o model User:**

```

```

Endpoints Disponíveis
=====================

[](#endpoints-disponíveis)

A API Maximus utiliza a classe `ApiService` para gerenciar operações CRUD e pesquisas avançadas.

### Endpoints Disponíveis

[](#endpoints-disponíveis-1)

Abaixo estão listados os endpoints disponíveis na API Maximus:

#### Recurso: Usuários (`/api/users`)

[](#recurso-usuários-apiusers)

- `GET /api/users`: Retorna todos os usuários cadastrados.
- `GET /api/users/{id}`: Retorna um usuário específico com base no ID.
- `POST /api/users`: Cria um novo usuário.
- `PUT /api/users/{id}`: Atualiza os detalhes de um usuário existente com base no ID.
- `DELETE /api/users/{id}`: Exclui um usuário com base no ID.
- `GET /api/users/search`: Realiza uma pesquisa avançada nos usuários com filtros específicos.
- `GET /api/users/with`: Retorna todos os usuários com seus relacionamentos especificados.
- `GET /api/users/searchwith`: Realiza uma pesquisa avançada nos usuários, incluindo relacionamentos, com opções de paginação e filtros.
- `GET /api/users/searchwithbyrelations`: Realiza uma pesquisa avançada nos usuários, com suporte a campos dos relacionamentos, paginação e ordenação.

### Exemplos de Uso

[](#exemplos-de-uso)

#### Obtendo Todos os Usuários

[](#obtendo-todos-os-usuários)

**Requisição:** `GET /api/users`

**Resposta:**

```
[
  {
    "id": 1,
    "name": "John Doe",
    "email": "john@example.com"
    // outros campos
  },
  // outros usuários
]

```

#### Criando um Novo Usuário

[](#criando-um-novo-usuário)

**Requisição:** `POST /api/users`

```
{
  "name": "Jane Smith",
  "email": "jane@example.com"
  // outros campos
}

```

**Resposta:**

```
{
  "id": 2,
  "name": "Jane Smith",
  "email": "jane@example.com"
  // outros campos
}

```

#### Pesquisa Avançada com Relacionamentos

[](#pesquisa-avançada-com-relacionamentos)

**Requisição:** `GET /api/users/searchwith?relationships=posts,comments`

**Resposta:**

```
[
  {
    "id": 1,
    "name": "John Doe",
    "email": "john@example.com",
    "posts": [
      {
        "id": 1,
        "title": "Post Title",
        "content": "Post content"
        // outros campos do post
      }
    ],
    "comments": [
      {
        "id": 1,
        "text": "Comment text"
        // outros campos do comentário
      }
    ]
    // outros campos do usuário
  },
  // outros usuários com relacionamentos
]

```

Pesquisa com Relacionamentos e Paginação
----------------------------------------

[](#pesquisa-com-relacionamentos-e-paginação)

Descrição: Retorna uma lista de recursos com suporte para pesquisa avançada, filtragem, ordenação por campos de relacionamentos e paginação.

**Requisição:**

```
 GET /api/{model}/searchwith

```

**Parâmetros de Consulta:**

**relationships (opcional)**: Lista de relacionamentos separados por vírgula para carregar junto com os recursos. **searchFields (opcional)**: Campos e valores para realizar a busca. Use formatos como campo:valor, campo&amp;valor ou campo@valor1,valor2 para diferentes operadores. **orderBy (opcional)**: Campo para ordenação. Padrão é 'id'. **sort (opcional)**: Direção da ordenação. Padrão é 'asc'. **page (opcional)**: Número da página para paginação. Padrão é 1.

**Exemplo de Requisição:**

```
GET /api/users/searchwith?relationships=posts,comments&searchFields=name:John,age&orderBy=name&sort=asc&page=2

```

**Exemplo de Resposta:**

```
{   "current_page": 2,   "data": [
    {
      // Recurso com relacionamentos
    },
    // Outros recursos
    ],
    // Informações de paginação
}

```

#### Pesquisa Avançada com Relacionamentos e Paginação

[](#pesquisa-avançada-com-relacionamentos-e-paginação)

**Requisição:**

```
GET /api/users/searchwith?relationships=posts,comments&page=2`

```

**Resposta:**

```
{
  "current_page": 2,
  "data": [
    {
      "id": 11,
      "name": "User 11",
      // outros campos do usuário
      "posts": [
        {
          "id": 21,
          "title": "Post Title",
          // outros campos do post
        }
      ],
      "comments": []
    },
    // outros usuários com relacionamentos
  ],
  "first_page_url": "/api/users/searchwith?relationships=posts,comments&page=1",
  "from": 11,
  "last_page": 5,
  "last_page_url": "/api/users/searchwith?relationships=posts,comments&page=5",
  "next_page_url": "/api/users/searchwith?relationships=posts,comments&page=3",
  "path": "/api/users/searchwith",
  "per_page": 10,
  "prev_page_url": "/api/users/searchwith?relationships=posts,comments&page=1",
  "to": 20,
  "total": 50
}

```

**Considerações Finais**Esta documentação cobre os principais endpoints disponíveis na API do sistema Maximus. Você pode ajustar os parâmetros de consulta para atender às suas necessidades de pesquisa, filtragem e ordenação. Lembre-se de ajustar as configurações em config/maximus.php conforme necessário.

Fique à vontade para explorar mais funcionalidades da API e adaptá-la conforme suas necessidades. Para quaisquer dúvidas ou problemas, não hesite em entrar em contato com nossa equipe de suporte.

###  Health Score

14

—

LowBetter than 2% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity21

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/d6ea9973cb7951f29f6c44aabc47f531fbd1d43007a35d434e8c7b68b4c1eeaa?d=identicon)[bmagnomax](/maintainers/bmagnomax)

---

Top Contributors

[![bmagnomax](https://avatars.githubusercontent.com/u/140080313?v=4)](https://github.com/bmagnomax "bmagnomax (15 commits)")

---

Tags

apilaravelphprestrestfull-apis

### Embed Badge

![Health badge](/badges/bmagnomax-maximus-api/health.svg)

```
[![Health](https://phpackages.com/badges/bmagnomax-maximus-api/health.svg)](https://phpackages.com/packages/bmagnomax-maximus-api)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M480](/packages/stripe-stripe-php)[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M272](/packages/twilio-sdk)[knplabs/github-api

GitHub API v3 client

2.2k15.8M187](/packages/knplabs-github-api)[facebook/php-business-sdk

PHP SDK for Facebook Business

90121.9M34](/packages/facebook-php-business-sdk)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

73813.7M114](/packages/meilisearch-meilisearch-php)[google/gax

Google API Core for PHP

263103.1M454](/packages/google-gax)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
