Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

[Projeto] Faça como eu Fiz e metodos PUT e DELETE

openapi: 3.0.1
info:
  title: API de consultório
  description: Api para controlar médicos e especialidades dentro do consultório
  version: "1"
  termsOfService: https://mockapi.io
  contact: 
    name: Suporte a Devs
    email: contato@example.com
    url: https://mockapi.io
  license: 
    name: GPLv3
    url: https://www.gnu.org/licenses/gpl-3.0.html
    
externalDocs:
    description: Documentação burocrática
    url: https://mockapi.io
servers:
- url: https://6096015d116f3f00174b29ba.mockapi.io/
  description: API de Teste
paths:
    /especialidades:
        get:
            summary: Recupera todas as especialidades
            responses:
                "200":
                    description: Sucesso
                    content:
                      application/json: 
                        schema: 
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
        post:
          summary: Cria nova especialidade
          description: Atraves desse endpoint você pode criar novas especialidades
          requestBody:
            content:
              application/json: 
                schema: 
                  type: object
                  properties: 
                    descricao:
                      type: string
          responses:
              "201":
                description: "Sucesso"
                content:
                  application/json: 
                    schema:
                      type: object
                      properties:
                        id:
                          type: integer
                        descricao:
                          type: string
    /especialidades/{id}:
        parameters: 
            - name: id
              in: path
              schema:
                type: integer
              required: true
        get:
            summary: Recupera uma entidade pelo ID
            responses:
                "200":
                    description: Sucesso
                    content:
                        application/json:
                            schema:
                                type: object
                                properties:
                                    id:
                                      type: integer
                                    description:
                                      type: string
                "404":
                    description: Especialidade não encontrata
                    content:
                        application/json:
                            example: "Not Found"
        put:
          summary: Atualiza uma entidade pelo ID
          requestBody:
            content:
              application/json: 
                schema:
                  type: object
                  properties:
                    descricao:
                      type: string
          responses:
            "200":
              description: Sucesso
              content:
                application/json:
                  schema:
                    type: object
                    properties:
                      id:
                       type: integer
                      description:
                        type: string
            "404":
              description: Especialidade não encontrata
              content:
                application/json:
                  example: "Not Found"
        delete:
          summary: Deleta uma entidade pelo ID
          responses:
            "200":
              description: Sucesso
              content:
                application/json:
                  schema:
                    type: object
                    properties:
                      id:
                       type: integer
                      description:
                        type: string
            "404":
              description: Especialidade não encontrata
              content:
                application/json:
                  example: "Not Found"
1 resposta
solução!

Oii Eduardo, tudo bem?

Obrigada por compartilhar sua solução aqui no fórum! Você implementou os quatro métodos (GET, POST, PUT e DELETE) de forma bem organizada, com os parâmetros de path centralizados no nível do endpoint /especialidades/{id}, o que é uma boa prática justamente para não repetir a definição em cada operação.

Uma observação pequena: nos schemas de resposta do GET por ID, PUT e DELETE, você usou description como nome da propriedade, mas no POST (e no requestBody do PUT) você usou descricao. Vale alinhar os dois para que a documentação reflita o mesmo campo em todos os lugares, evitando confusão para quem for consumir a API.

Conte com a Alura para evoluir seus estudos. Em caso de dúvidas, fico à disposição.

Bons estudos!

Sucesso

Imagem da comunidade