Håndtering av HTTP-forespørsler og -svar
Lær å behandle forespørselsparametere, banevariabler og forespørselskropper, og utforme passende HTTP-svar.
Håndtering av HTTP-forespørsler og -svar er en gratis leksjon i Komplett guide til Spring Boot 4 på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Komplett guide til Spring Boot 4, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Komplett guide til Spring Boot 4 inneholder totalt 4 leksjoner.
Forespørsler og svar
Når du samhandler med en nettapplikasjon, sender nettleseren en HTTP-forespørsel til en server. Serveren behandler den og sender deretter tilbake et HTTP-svar.
I Spring Boot skriver vi kode som lytter etter disse forespørslene, henter ut informasjon, utfører handlinger og deretter utformer et passende svar.
Hente spørringsparametere: @RequestParam
Noen ganger sendes ekstra data i URL-en etter et ?, for eksempel /search?keyword=java. Dette kalles spørringsparametere.
Spring Boot bruker merknaden @RequestParam til enkelt å hente disse verdiene inn i metodeparameterne dine.
Direktedemo: @RequestParam
Prøv å kjøre dette eksempelet. Når appen har startet, åpner du nettleseren eller et verktøy som Postman og går til http://localhost:8080/hello?name=Coddy. Se hva som skjer!
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 + "!";
}
}Hente ut fra bane: @PathVariable
Andre ganger er viktige data en del av selve URL-banen, for eksempel /users/123. Her er 123 en ID.
Merknaden @PathVariable lar deg hente disse dynamiske delene fra URL-en direkte inn i metodeparameterne dine.
Direktedemo: @PathVariable
Kjør denne appen, og gå deretter til http://localhost:8080/items/apple eller http://localhost:8080/items/banana i nettleseren.
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;
}
}Spørring eller bane: Når bør de brukes?
- @RequestParam: Brukes til valgfri filtrering, sortering eller paginering (for eksempel
/products?category=books&page=1). - @PathVariable: Brukes til å identifisere en bestemt ressurs (for eksempel
/users/{id}eller/products/{sku}). Den er avgjørende for ressursens identitet.
Håndtere datanyttelaster: @RequestBody
Ved operasjoner som oppretter eller oppdaterer ressurser (POST- og PUT-forespørsler) sender klienter ofte komplekse data (for eksempel JSON eller XML) i request body.
Merknaden @RequestBody konverterer automatisk innholdet i denne kroppen til et Java-objekt for deg, takket være Springs innebygde meldingskonverterere.
Direktedemo: @RequestBody
Kjør dette. Bruk et verktøy som Postman til å sende en POST-forespørsel til http://localhost:8080/users med en JSON-kropp:
{"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();
}
}Tilpassede svar: ResponseEntity
Som standard returnerer Spring ofte en String eller et Java-objekt, som Spring konverterer til JSON/XML med statusen 200 OK.
Hvis du trenger mer kontroll, særlig over HTTP-statuskoder (som 201 Created og 404 Not Found), bruker du ResponseEntity. Den lar deg angi kropp, status og headere eksplisitt.
Kort sjekk: Håndtering av forespørsler
Tenk på et Spring Boot REST-endepunkt som er laget for å hente en bruker ved hjelp av den unike ID-en, for eksempel /api/users/5. Hvilken merknad egner seg best til å hente ut 5 fra URL-en?
Leksjonsoppsummering
Vi har gått gjennom hvordan Spring Boot gjør det enkelt å håndtere HTTP-forespørsler:
@RequestParamfor spørringsparametere (valgfrie data).@PathVariablefor banevariabler (ressursidentifikatorer).@RequestBodyfor å deserialisere innholdet i request body til Java-objekter.ResponseEntityfor detaljert kontroll over HTTP-svar, inkludert statuskoder.
Å beherske disse merknadene er avgjørende for å bygge robuste RESTful API-er!
Lær deg Java med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 21
- Leksjoner
- 84
Ofte stilte spørsmål
Er leksjonen «Håndtering av HTTP-forespørsler og -svar» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Komplett guide til Spring Boot 4, inkludert «Håndtering av HTTP-forespørsler og -svar», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Komplett guide til Spring Boot 4 inneholder totalt 4 leksjoner.
Hva lærer jeg i «Håndtering av HTTP-forespørsler og -svar»?
Lær å behandle forespørselsparametere, banevariabler og forespørselskropper, og utforme passende HTTP-svar. Du øver på Komplett guide til Spring Boot 4 med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Komplett guide til Spring Boot 4?
Ingen tidligere erfaring er nødvendig. Komplett guide til Spring Boot 4 på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.
Hvor lang tid tar leksjonen «Håndtering av HTTP-forespørsler og -svar»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Komplett guide til Spring Boot 4-leksjonen?
Ja. Alle Komplett guide til Spring Boot 4-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Opprette REST-kontrollere
- Håndtering av HTTP-forespørsler og -svar
- Validering av inndata og feilhåndtering
- Dokumenter REST-API-er med OpenAPI og Swagger