Spring Boot 4:n kattava opas · Oppitunti

HTTP-pyyntöjen ja -vastausten käsittely

Oppikaa käsittelemään pyyntöparametreja, polkumuuttujia ja pyyntörunkoja sekä muodostamaan asianmukaisia HTTP-vastauksia.

Oppitunti 2/411 vaihetta

HTTP-pyyntöjen ja -vastausten käsittely on ilmainen Spring Boot 4:n kattava opas-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Spring Boot 4:n kattava opas-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Spring Boot 4:n kattava opas-kurssilla on yhteensä 4 oppituntia.

Pyynnöt ja vastaukset

Kun käytät verkkosovellusta, selaimesi lähettää palvelimelle HTTP-pyynnön. Palvelin käsittelee pyynnön ja lähettää takaisin HTTP-vastauksen.

Spring Bootissa kirjoitamme koodia, joka kuuntelee näitä pyyntöjä, poimii niistä tietoja, suorittaa toimintoja ja muodostaa sitten sopivan vastauksen.

Kyselyparametrien hakeminen: @RequestParam

Joskus URL-osoitteeseen lisätään ylimääräisiä tietoja ?-merkin jälkeen, esimerkiksi /search?keyword=java. Näitä kutsutaan kyselyparametreiksi.

Spring Boot käyttää @RequestParam-annotaatiota näiden arvojen poimimiseen helposti metodin parametreihin.

Live-esittely: @RequestParam

Kokeile suorittaa tämä esimerkki. Kun sovellus on käynnistynyt, avaa selaimesi tai esimerkiksi Postman ja siirry osoitteeseen http://localhost:8080/hello?name=Coddy. Katso, mitä tapahtuu!

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class Main {

  public static void main(String[] args) {
    SpringApplication.run(Main.class, args);
  }

  @GetMapping("/hello")
  public String sayHello(
      @RequestParam(defaultValue = "Guest") String name) {
    return "Hello, " + name + "!";
  }
}

Tietojen poimiminen polusta: @PathVariable

Toisinaan tärkeä tieto on suoraan URL-osoitteen polussa, esimerkiksi /users/123. Tässä 123 on tunniste.

@PathVariable-annotaation avulla voit poimia nämä URL-osoitteen muuttuvat osat suoraan metodin parametreihin.

Live-esittely: @PathVariable

Suorita tämä sovellus ja siirry sitten selaimessasi osoitteeseen http://localhost:8080/items/apple tai http://localhost:8080/items/banana.

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class Main {

  public static void main(String[] args) {
    SpringApplication.run(Main.class, args);
  }

  @GetMapping("/items/{itemName}")
  public String getItemDetails(@PathVariable String itemName) {
    return "You requested item: " + itemName;
  }
}

Kyselyparametri vai polkumuuttuja: milloin niitä käytetään?

  • @RequestParam: Käytä valinnaiseen suodatukseen, lajitteluun tai sivutukseen (esimerkiksi /products?category=books&page=1).
  • @PathVariable: Käytä tietyn resurssin tunnistamiseen (esimerkiksi /users/{id} tai /products/{sku}). Se on olennainen resurssin yksilöimisessä.

Tietosisällön käsittely: @RequestBody

Kun resursseja luodaan tai päivitetään (POST- ja PUT-pyynnöt), asiakkaat lähettävät usein monimutkaisia tietoja, kuten JSON- tai XML-dataa, pyynnön rungossa.

@RequestBody-annotaatio muuntaa tämän rungon sisällön automaattisesti Java-olioksi Springin sisäänrakennettujen viestimuuntimien ansiosta.

Live-esittely: @RequestBody

Suorita tämä. Lähetä esimerkiksi Postmanilla POST-pyyntö osoitteeseen http://localhost:8080/users ja sisällytä siihen seuraava JSON-runko:

{"id":1, "name":"Coddy"}

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class Main {

  public static void main(String[] args) {
    SpringApplication.run(Main.class, args);
  }

  // Define a simple User class
  public static class User {
    private Long id;
    private String name;

    // Getters and setters for JSON mapping
    public Long getId() { return id; }
    public void setId(Long id) { this.id = id; }
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
  }

  @PostMapping("/users")
  public String createUser(@RequestBody User user) {
    return "User created: ID=" + user.getId() +
           ", Name=" + user.getName();
  }
}

Mukautetut vastaukset: ResponseEntity

Oletusarvoisesti Spring palauttaa usein String-arvon tai Java-olion, jonka Spring muuntaa JSON- tai XML-muotoon ja jonka tilakoodi on 200 OK.

Jos tarvitset enemmän hallintaa erityisesti HTTP-tilakoodeihin, kuten 201 Created ja 404 Not Found, käytä ResponseEntity-luokkaa. Sen avulla voit määrittää rungon, tilakoodin ja otsakkeet täsmällisesti.

Pikatarkistus: pyyntöjen käsittely

Oletetaan, että Spring Bootin REST-päätepiste hakee käyttäjän tämän yksilöllisen tunnisteen perusteella, esimerkiksi osoitteesta /api/users/5. Millä annotaatiolla 5 voidaan parhaiten poimia URL-osoitteesta?

Oppitunnin yhteenveto

Olemme käsitelleet, miten Spring Boot helpottaa HTTP-pyyntöjen käsittelyä:

  • @RequestParam kyselyparametreille (valinnaiset tiedot).
  • @PathVariable polkumuuttujille (resurssien tunnisteet).
  • @RequestBody pyyntörungon sisällön muuntamiseen Java-olioiksi.
  • ResponseEntity HTTP-vastausten tarkkaan hallintaan, tilakoodit mukaan lukien.

Näiden annotaatioiden hallitseminen on olennaista vankkojen RESTful API -rajapintojen rakentamisessa!

Aloita maksutta

Opi Java tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
21
Oppitunnit
84

Usein kysytyt kysymykset

Onko oppitunti ”HTTP-pyyntöjen ja -vastausten käsittely” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Spring Boot 4:n kattava opas-oppimispolun 3 oppituntia, myös oppitunnin “HTTP-pyyntöjen ja -vastausten käsittely”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Spring Boot 4:n kattava opas-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”HTTP-pyyntöjen ja -vastausten käsittely”?

Oppikaa käsittelemään pyyntöparametreja, polkumuuttujia ja pyyntörunkoja sekä muodostamaan asianmukaisia HTTP-vastauksia. Harjoittelet Spring Boot 4:n kattava opas-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Spring Boot 4:n kattava opas-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Spring Boot 4:n kattava opas-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.

Kuinka kauan ”HTTP-pyyntöjen ja -vastausten käsittely”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Spring Boot 4:n kattava opas-oppitunnilla?

Kyllä. Jokainen Spring Boot 4:n kattava opas-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. REST-ohjainten luominen
  2. HTTP-pyyntöjen ja -vastausten käsittely
  3. Syötteen validointi ja virheenkäsittely
  4. REST-API:en dokumentointi OpenAPI:lla ja Swaggerilla
← Takaisin: Spring Boot 4:n kattava opas