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

Quarkus API GET method by ID

0 głosów
273 wizyt
pytanie zadane 10 czerwca 2020 w Java przez poldeeek Mądrala (5,980 p.)

Chciałem napisać API z podstawowymi metodmi w Javie z użyciem Quarkusa i mam problem przy endpoincie GET z parametrem id. Nie wiem czemu nie zwraca mi obiektu z id 1, przy zapytaniu typu GET - localhost:8080/hello/1 .
 

package org.acme;

import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;

@Path("/hello")
@Produces(MediaType.APPLICATION_JSON)
public class ExampleResource {

    private List<Car> carList;

    public ExampleResource() {
        this.carList = new ArrayList<>();
        this.carList.add(new Car(1, "Audi", 290000));
        this.carList.add(new Car(2, "Opel", 12200));
    }

    @GET
    public List<Car> getCarList() {
        return this.carList;
    }

    @GET
    @Path("/{id}")
    public List<Car> getCarListById(@PathParam("id") Integer id) {
        List<Car> new_list = new ArrayList<>();
        for(Car car: carList){
            if(car.getId() == id)
                new_list.add(car);
        }
        return new_list;
    }

    @POST
    public void addCar(Car auto) { this.carList.add(auto);};

    @DELETE
    public List<Car> delete(Car deleted_car) {
        carList.remove(deleted_car);
        return carList;
    }
}
package org.acme;

public class Car {
    public Integer id;
    private String name;
    private Integer prize;

    public Car() {
    }

    public Car(Integer id, String name, Integer prize) {
        this.id = id;
        this.name = name;
        this.prize = prize;
    }

    public Integer getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public Integer getPrize() {
        return prize;
    }
}

Ponad to @DELETE też nie chce zadziałać, kiedy korzystając z Postman'a wysyłam zapytanie DELETE z obiektem JSON w body : 
 

{
        "id": 1,
        "name": "Audi",
        "prize": 290000
    }

 

komentarz 10 czerwca 2020 przez HaKIM Szeryf (87,590 p.)
Czesc poldeek,

czy mozesz wstawic na forum, czy to w komentarzu czy to w temacie, co zwraca Ci serwer po wykonaniu GET oraz DELETE?
komentarz 10 czerwca 2020 przez poldeeek Mądrala (5,980 p.)

Przy DELETE zwraca mi pełną liste obiektów :
 

[
    {
        "id": 1,
        "name": "Audi",
        "prize": 290000
    },
    {
        "id": 2,
        "name": "Opel",
        "prize": 12200
    }
]

 

komentarz 10 czerwca 2020 przez poldeeek Mądrala (5,980 p.)
edycja 10 czerwca 2020 przez poldeeek

Działający DELETE :
 

@DELETE
@Path("/delete/{id}")
public List<Car> delete(@PathParam("id") Integer id) {
    List<Car> new_list = new ArrayList<>();
    for(Car car: carList) {
        new_list.add(car);
    }

    new_list.removeIf(car -> car.getId().equals(id));

    return new_list;
}

 

komentarz 11 czerwca 2020 przez HaKIM Szeryf (87,590 p.)
Ciesze sie, ze sobie poradziles. Sorry, ze nic nie odpisywalem, ale mialem wczoraj dzien wypchany po brzegi meetingami.

1 odpowiedź

+2 głosów
odpowiedź 10 czerwca 2020 przez HaKIM Szeryf (87,590 p.)
wybrane 10 czerwca 2020 przez poldeeek
 
Najlepsza
for(Car car: carList){
    if(car.getId() == id)
        new_list.add(car);
}

Zmien na:

for(Car car: carList){
    if(car.getId().equals(id))
        new_list.add(car);
}

Daj znac czy pomoglo w przypadku GET.

komentarz 10 czerwca 2020 przez poldeeek Mądrala (5,980 p.)
Dało radę :P

Podobne pytania

+5 głosów
2 odpowiedzi 324 wizyt
pytanie zadane 19 czerwca 2020 w Java przez reaktywny Nałogowiec (46,230 p.)
0 głosów
3 odpowiedzi 322 wizyt
pytanie zadane 16 maja 2020 w Java przez aram100 Użytkownik (500 p.)
0 głosów
1 odpowiedź 891 wizyt
pytanie zadane 16 lipca 2020 w Java przez T100 Obywatel (1,450 p.)

93,607 zapytań

142,529 odpowiedzi

322,999 komentarzy

63,098 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

Kursy INF.02 i INF.03
...