• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

POST reqest SpringBoot

VPS Starter Arubacloud
+1 głos
187 wizyt
pytanie zadane 24 marca 2018 w JavaScript przez Pablo93 Użytkownik (800 p.)

Cześć 
Piszę prostą aplikację w Spring Boocie do oblicznia bmi i napisałem sobie kontoler który ma odbierać request z JSON 


@RequestMapping (method = RequestMethod.POST , value="/addBmiRecord")
public void addRecord(@RequestBody bmiRekord bmiRekord)
{
    System.out.println(bmiRekord);
    bmiService.addRecord(bmiRekord);
}
[{"data":"2016.10.11","waga":"65","wzrost":"177","bmi":"27"}]

To jest JSON zwracany przy użyciu metody GET natomiast nie potrafię zrobić post szukam po foram / po yt i no nie poradzę sobie.Mój kod nie dochodzi nawet do System.out.println(bmiRekord).A konsola wywala wtedy taki komunikat.

<a href=https://zapodaj.net/d5a81d08a5252.png.html>jpg.png</a>

1
komentarz 24 marca 2018 przez ScriptyChris Mędrzec (190,190 p.)

Czy na pewno wybrałeś właściwą kategorię? Java !== JavaScript

3 odpowiedzi

0 głosów
odpowiedź 24 marca 2018 przez adas94 Nałogowiec (29,200 p.)
wybrane 24 marca 2018 przez Pablo93
 
Najlepsza
Właściwie to odpowiedź masz w "message" błędu :)

https://stackoverflow.com/questions/22566433/http-415-unsupported-media-type-error-with-json

Poza tym możesz zamienić ten @RequestMapping na po prostu @PostMapping("url"), a także ten bmiRekord, który jest klasą, to się powinien zaczynać z dużej litery.

Powodzenia :)
0 głosów
odpowiedź 24 marca 2018 przez Wiciorny Ekspert (277,560 p.)
a skąd twój program ma wiedzieć, czy obiekt bindowany w URL to format JSON ? Może to być XML, lub inny restowy :)

 czytaj dokładnie treść błędów. W javie- o ile nie jest to Null bzdurny :) bardzo dobrze jest debugować i lub czytać logi messeges/errors  tam na spokojnie większość o ile jest to błąd natury implementacji jest wyjaśnione
0 głosów
odpowiedź 24 marca 2018 przez Pablo93 Użytkownik (800 p.)
edycja 24 marca 2018 przez Pablo93

JSHolic Myślałem że to błąd po stronie JS a nie mojego kontrolera :(.

Nie mam pojęcia czemu ale zadziałało po usunięciu  @RequestBody z metody addRecord .

Może komuś się przyda :Post Request :
 

$("#zapisz").click(function(){
    $.post("/addBmiRecord",
    {
        "data": "2016.10.11",
        "waga": "65",
        "wzrost": "177",
        "bmi": "27"
    },
    function(data, status){
        alert("Poszło");
    });
});

Oraz RestContorller który go przechwytuje :

@PostMapping("/addBmiRecord")
public void addRecord(bmiRekord BmiRekord)
{
    bmiService.addRecord(BmiRekord);
}

Obiekt bmi 

public class bmiRekord {

    private String Data;
    private String Waga;
    private String Wzrost;
    private String Bmi;


    public bmiRekord ()
    {
        super();
    }

    public bmiRekord(String data, String waga, String wzrost, String bmi) {
        Data = data;
        Waga = waga;
        Wzrost = wzrost;
        Bmi = bmi;
    }

    public String getData() {
        return Data;
    }

    public void setData(String data) {
        Data = data;
    }

    public String getWaga() {
        return Waga;
    }

    public void setWaga(String waga) {
        Waga = waga;
    }

    public String getWzrost() {
        return Wzrost;
    }

    public void setWzrost(String wzrost) {
        Wzrost = wzrost;
    }

    public String getBmi() {
        return Bmi;
    }

    public void setBmi(String bmi) {
        Bmi = bmi;
    }
}

Tu też miałem problem ale pomogło dodanie domyślnego konstruktora tz super();

Podobne pytania

0 głosów
2 odpowiedzi 1,789 wizyt
pytanie zadane 16 lipca 2018 w Java przez Pablo93 Użytkownik (800 p.)
0 głosów
1 odpowiedź 179 wizyt
pytanie zadane 1 sierpnia 2020 w C i C++ przez Uwegi Początkujący (430 p.)
0 głosów
0 odpowiedzi 146 wizyt
pytanie zadane 17 stycznia 2023 w JavaScript przez Antoni2422 Użytkownik (570 p.)

93,020 zapytań

141,985 odpowiedzi

321,284 komentarzy

62,366 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...