Skąd ASP.NET Core "wie", że musi użyć model binding technique, która używa [FromBody]? To zachowanie domyślne ASP.NET Core?

[HttpPost]
public async Task<ActionResult<TodoItem>> PostTodoItem(TodoItem todoItem)
{
_context.TodoItems.Add(todoItem);
@_gabriel: Domyślne zachowanie.
Jeśli parametrem metody jest typ prosty (int/double/string itd.) to domyślnie jego wartość będzie poszukiwana w url requestu, jeśli jest to obiekt złożony to dane będą poszukiwane w body requestu.

Można również ten mechanizm ominąć, tj zrobić:

(...) PostTodoItem([FromBody]
  • Odpowiedz
Czy dla was też dokumentacja Microsoftu brzmiała tak abstrakcyjnie?


@_gabriel: Dokumentacja MS jest złota, pod warunkiem że czytasz ją w wersji angielskiej xD Te polskie tłumaczenia maszynowe to jakieś nieporozumienie.
  • Odpowiedz
@_gabriel: w sumie długo tak miałem i wolałem już na stacku szukać odpowiedzi a później jakoś zaskoczylo i jest to pierwszy wybór. Dodatkowo mają trochę fajnych artykułów gdzie poza czysta dokumentacja biblioteki opisują np good practice albo naming guideline itp
  • Odpowiedz
  • 1
@FredOnizuka: Na Windowsie 10 masz .NET Framework 4.6+.
.NET Framework i .NET (nazywany również .NET Core) to dwa kompletnie różne frameworki (Microsoft zamieszał z nazwami).

Wszystkie wersje .NET od wersji 5 to ewolucje .NET Core - najpierw był .NET Core 2,3 a od wersji 5 po prostu nazywany .NET 5,6,7 a teraz .NET 8.
.NET Core to wieloplatformowy, otwarto źródłowy dotnet. Nie jest on instalowany domyślnie na Windowsie ani wymagany do
  • Odpowiedz
Cześć wszystkim, mam takiego oto endpointa, jest to bardzo prosta sprawa. Nie do końca jednak rozumiem po co mappuje Automapperem drugi raz i wkładam zmienną mappedRoom do metody CreatedAtAction skoro mogę tam włożyć równie dobrze zmienną room i program też będzie działać, bo już to sprawdziłem.

Ogólnie jest to kod z kursu nt. web api. Ktoś wie czemu i czy powinno się mappować drugi raz przed włożeniem do tej metody obiektu?

[HttpPost]
[Route("{hotelId}/rooms")]
@ProbablyHappy: Bo obiekt domenowy room nie powinien być udostępniany publicznie jako on sam w sobie tylko w formie dto czy tam innej klasy gdzie np ukrywane są jakieś pola przykład jeśli zwracał byś usera to bez hasła itp
  • Odpowiedz
via Wykop Mobilny (Android)
  • 9
@ProbablyHappy: Działający klon wykop.pl, jak chcesz szczebel wyżej, klon wykop.pl razem z błędami. Stronkę znasz, więc nie będziesz poświęcał czasu na myślenie do czego właściwie dążysz tylko skupisz się na programowaniu określonego efektu.
  • Odpowiedz
Tworzę sobie Controller w ASP.NET Core Web API. Chodzi o Controller API with Actions and Entity Framework. Mam słabego neta. Tworzę, ładuje się już z 10 minut... ktoś wie czy to problem z internetem, czy z Visual Studio 2022? Muzyka mi normalnie na yt działa, więc to dziwne, że nie mogę utworzyć kontrolera.

#aspnetcore #csharp #naukaprogramowania #visualstudio #pytanie
P.....y - Tworzę sobie Controller w ASP.NET Core Web API. Chodzi o Controller API wit...

źródło: comment_1667678266ULFCSGrBwdAHCAg090J9kO.jpg

Pobierz
@throwyn:
Restart visuala nie pomógł. Musiałem usunąć proces IISExpress w task barze. Oprócz tego zaktualizowałem tę paczkę:
NuGet Gallery | Microsoft.VisualStudio.Web.CodeGeneration.Design 6.0.10
  • Odpowiedz
1. Najpierw tworzy się instancja kontrolera i wykonywane jest zapytanie
2. Następnie wskakuje middleware na requeście
3. await next
4. Następnie wskakuje middleware na response
5. Otrzymujemy response

dobrze