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.
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:
@RequestParamför query-parametrar (valfri data).@PathVariableför sökvägsvariabler (resursidentifierare).@RequestBodyför att deserialisera innehåll i request body till Java-objekt.ResponseEntityför detaljerad kontroll över HTTP-svar, inklusive statuskoder.
Att behärska dessa annoteringar är viktigt för att bygga robusta RESTful API:er!
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
- Skapa REST-controllers
- Hantera HTTP-förfrågningar och svar
- Indatavalidering och felhantering
- Dokumentera REST-API:er med OpenAPI och Swagger