in dotnet/azure-functions/FunctionApp/Notes.cs [48:95]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post","delete", Route = "notes/{id?}")]
HttpRequest req, string id,
ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");
try
{
switch (req.Method.ToLowerInvariant())
{
case "get":
var notesResult = await GetNotes(id);
return new OkObjectResult(notesResult);
case "post":
// Implement your POST logic here
string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
dynamic data = JsonConvert.DeserializeObject(requestBody);
string content = data?.content;
var newNote = await SaveNote(content);
if (newNote != null)
{
return new OkObjectResult(newNote);
}
return new BadRequestObjectResult("Error saving note");
case "delete":
// Implement your DELETE logic here
if (string.IsNullOrEmpty(id)) return new BadRequestResult();
var deleteResult = await DeleteNote(id);
if (deleteResult)
{
return new OkObjectResult("Note deleted");
}
return new BadRequestObjectResult("Error deleting note");
default:
return new BadRequestObjectResult("Method not supported");
}
}
catch (Exception ex)
{
log.LogInformation("Exception Occurred");
log.LogInformation(ex.ToString());
return new InternalServerErrorResult();
}
}