Spring Boot 4 – komplett guide · Lektion

Hantera HTTP-förfrågningar och svar

Lär er att bearbeta frågeparametrar, sökvägsvariabler och request bodies samt utforma lämpliga HTTP-svar.

Lektion 2 av 411 steg

Hantera HTTP-förfrågningar och svar är en gratis lektion i Spring Boot 4 – komplett guide på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Spring Boot 4 – komplett guide, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Spring Boot 4 – komplett guide innehåller totalt 4 lektioner.

Förfrågningar och svar

När du interagerar med en webbapplikation skickar webbläsaren en HTTP-förfrågan till en server. Servern bearbetar den och skickar sedan tillbaka ett HTTP-svar.

I Spring Boot skriver vi kod som lyssnar efter dessa förfrågningar, hämtar information, utför åtgärder och sedan utformar ett lämpligt svar.

Hämta query-parametrar: @RequestParam

Ibland skickas extra data i URL:en efter ett ?, till exempel /search?keyword=java. Dessa kallas query-parametrar.

Spring Boot använder annoteringen @RequestParam för att enkelt hämta dessa värden till dina metodparametrar.

Direktdemo: @RequestParam

Prova att köra det här exemplet. När appen har startat öppnar du webbläsaren eller ett verktyg som Postman och går till http://localhost:8080/hello?name=Coddy. Se vad som händer!

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 + "!";
  }
}

Hämta data från sökvägen: @PathVariable

Ibland ingår viktig data i själva URL-sökvägen, till exempel /users/123. Här är 123 ett ID.

Annoteringen @PathVariable låter dig hämta dessa dynamiska delar från URL:en direkt till dina metodparametrar.

Direktdemo: @PathVariable

Kör appen och gå sedan till http://localhost:8080/items/apple eller http://localhost:8080/items/banana i webbläsaren.

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;
  }
}

Query eller sökväg: när ska de användas?

  • @RequestParam: Används för valfri filtrering, sortering eller sidindelning (till exempel /products?category=books&page=1).
  • @PathVariable: Används för att identifiera en specifik resurs (till exempel /users/{id}, /products/{sku}). Den är avgörande för resursens identitet.

Hantera datainnehåll: @RequestBody

Vid åtgärder som att skapa eller uppdatera resurser (POST- och PUT-förfrågningar) skickar klienter ofta komplex data (till exempel JSON eller XML) i request body.

Annoteringen @RequestBody konverterar automatiskt innehållet i denna request body till ett Java-objekt åt dig, tack vare Springs inbyggda meddelandekonverterare.

Direktdemo: @RequestBody

Kör detta. Använd ett verktyg som Postman för att skicka en POST-förfrågan till http://localhost:8080/users med en JSON-body:

{"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();
  }
}

Anpassade svar: ResponseEntity

Som standard returnerar Spring ofta en String eller ett Java-objekt, som Spring konverterar till JSON/XML med statusen 200 OK.

Om du vill ha större kontroll, särskilt över HTTP-statuskoder (som 201 Created och 404 Not Found), använder du ResponseEntity. Det låter dig uttryckligen ange body, status och headers.

Snabbtest: Hantera förfrågningar

Anta att en Spring Boot REST-endpoint är utformad för att hämta en användare utifrån dennes unika ID, till exempel /api/users/5. Vilken annotering passar bäst för att hämta 5 från URL:en?

Lektionssammanfattning

Vi har gått igenom hur Spring Boot gör det enkelt att hantera HTTP-förfrågningar:

  • @RequestParam för query-parametrar (valfri data).
  • @PathVariable för sökvägsvariabler (resursidentifierare).
  • @RequestBody för att deserialisera innehåll i request body till Java-objekt.
  • ResponseEntity för detaljerad kontroll över HTTP-svar, inklusive statuskoder.

Att behärska dessa annoteringar är viktigt för att bygga robusta RESTful API:er!

Gratis att börja

Lär dig Java med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
21
Lektioner
84

Vanliga frågor

Är lektionen ”Hantera HTTP-förfrågningar och svar” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Spring Boot 4 – komplett guide, inklusive ”Hantera HTTP-förfrågningar och svar”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Spring Boot 4 – komplett guide innehåller totalt 4 lektioner.

Vad lär jag mig i ”Hantera HTTP-förfrågningar och svar”?

Lär er att bearbeta frågeparametrar, sökvägsvariabler och request bodies samt utforma lämpliga HTTP-svar. Ni övar på Spring Boot 4 – komplett guide med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Spring Boot 4 – komplett guide?

Du behöver inga förkunskaper. Utbildningen i Spring Boot 4 – komplett guide på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Hantera HTTP-förfrågningar och svar”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Spring Boot 4 – komplett guide-lektionen?

Ja. Varje Spring Boot 4 – komplett guide-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Skapa REST-controllers
  2. Hantera HTTP-förfrågningar och svar
  3. Indatavalidering och felhantering
  4. Dokumentera REST-API:er med OpenAPI och Swagger
← Tillbaka till Spring Boot 4 – komplett guide