Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1era Tarea / Providers #133

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

Conversation

brianUtn98
Copy link

Description

  1. Se descomentaron las lineas indicadas en el readme que corresponden al servicio de Providers en Startup.cs y la configuración del mapeo para Provider en ModelProfile.cs.
  2. Se creó el DTO para Provider.
  3. Se creó el DTO de búsqueda para Provider.
  4. Se agregó el Servicio Provider que se utiliza en la aplicación.
  5. Se creó un controller para dar soporte a las operaciones GET,POST,PUT,DELETE y SEARCH sobre los Providers.

Issues

Ninguno

Opinion

Faltaría algún tutorial linkeado para establecer el entorno de desarrollo sin demasiado inconveniente, tanto en Windows como en otros sistemas operativos.
La tarea era bastante inmediata de extensión de código existente, por lo que no hay mucho que agregar por ahora.

Stock.Api/Controllers/ProviderController.cs Show resolved Hide resolved
/// <param name="value">Provider information.</param>
[HttpPut("{id}")]
public void Put(string id,[FromBody] ProviderDTO value)
{
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fijate que si el ID que se esta usando para actualizar la entidad no es el mismo que el que llega como parametro en la url. Si el json en el body del request no incluye el ID la actualizacion no se va a completar

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@miguel-rodriguez-cimino no entendí esto, me lo podrías ampliar un poco? Gracias!

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

En Swagger UI cuando probas el metodo PUT tenes el textbox donde pones el ID de la entidad, y abajo vas a tener un editor donde pones en el body del request el json del objeto que queres actualizar. Ese json es algo asi como:

{
  "id": "string",
  "name": "string",
  "phone": "string",
  "email": "string",
  ...etc..
}

el Id que va aca, en el body, deberia ignorarse e incluso puede ser omitido porque tecnicamente el ID no es un valor que vos puedas actualizar. El ID que se usa para identificar el objeto que queres actualizar es el que pones en el textbox y que va a ir en la url del request, ej
http://localhost:49257/api/provider/fd665ad9-7966-4d45-9be8-d3c72de78043
Asi como esta el codigo, si probas mandar un request sin el id en el body, la entidad no se va a actualizar.
Como pista te puedo indicar que en realidad, el metodo Put del controller esta bien, lo que tendrias que corregir esta en otro lado, quizas debuggeandolo te podes dar cuenta, y si no avisame y te doy mas detalles.

Stock.Api/DTOs/ProviderDTO.cs Show resolved Hide resolved
Stock.Api/DTOs/ProviderSearchDTO.cs Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants