usuarios net ejemplos autenticacion asp c# asp.net-web-api controller repository asp.net-web-api-routing

c# - ejemplos - autenticacion de usuarios en asp net y sql server



¿Cómo puedo manejar de forma segura las solicitudes no válidas de datos del repositorio? (2)

Deberías estar mucho más a la defensiva que eso. Primero busca null ... de lo contrario, estás pidiendo que explote:

var entity = platypi.Find(p => p.Id == id); return entity == null ? string.Empty : entity.Name;

Actualmente también está haciendo más de una búsqueda única ... que no necesita ( Find para verificar el nombre ... luego Find para devolver el nombre ...).

Con este código:

public String Get(int id) { return platypi.Find(p => p.Id == id).Name; }

... Puedo obtener datos existentes a través de:

http://localhost:33181/api/DPlatypus/N

(donde N corresponde a una ID existente). Si uso un valor inexistente, sin embargo, explota.

Entonces, intenté esto:

public String Get(int id) { if (!string.IsNullOrEmpty(platypi.Find(p => p.Id == id).Name)) { return platypi.Find(p => p.Id == id).Name; } return string.Empty; }

... pero no tiene ningún efecto beneficioso. ¿Hay alguna manera de ignorar de manera segura las solicitudes no válidas?


Si el método Find genera una excepción, puede envolver esto en un manejador de excepciones. Eso le permitiría devolver "de manera segura" una cadena vacía en una entrada no válida.

Si Find devuelve null , podría hacer:

public String Get(int id) { var item = platypi.Find(p => p.Id == id); return item == null ? string.Empty : item.Name; }