Próba wysłania stringa z js do api w .NET Core daje 415

0

Chcę wysłać do mojego api tekst requestem POST. Jest to zwykły string, konkretnie - fragment htmla. Nie potrzebuję tutaj jsona, formy ani nic zaawansowanego. Chcę po prostu przekazać string.

Po stronie JS:

            fetch(url, {
                method: "POST",
                headers: {
                    'Content-Type': 'text/html; charset=UTF-8'
                },
                body: '<p>Coś tam coś tam</p>'
            })
            .then(response => {
                //
            });

Po stronie api:

[HttpPost]
public string Post([FromBody]string html)

Ustawiłam breakpoint w pierwszej linijce metody Post, niestety nigdy się tam nie zatrzymuje, ponieważ JS dostaje status 415 - Unsupported Media Type...
Jak to zrobić, żeby te dwie strony się ze sobą dogadały...?

0

A jak usuniesz [FromBody] to co się dzieje?

Może też nie chodzi o to co wysyłasz, ale co chcesz otrzymać? Masz włączony Content negottiation ? Wysyłasz nagłówek accept?

3

Jak chcesz używać [FromBody] i dynamicznego przypinania do zmiennych to musisz wysyłać JSON-a. Wysłanie (i odebranie) "po prostu stringa" jest zadziwiająco trudne domyślnie.

0

A jak usuniesz [FromBody] to co się dzieje?

Dostaję nulla.

Jak chcesz używać [FromBody] i dynamicznego przypinania do zmiennych to musisz wysyłać JSON-a.

Dobra, w nosie z tym w takim razie, zmieniam na FromForm. Teraz jeszcze tylko jazda z escapowaniem / enkodowaniem ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1