Spring Boot 4 – komplett guide · Lektion

Skapa REST-controllers

Utforma och implementera RESTful-endpoints med `@RestController` och olika mappningsannoteringar.

Lektion 1 av 412 steg

Skapa REST-controllers är en gratis lektion i Spring Boot 4 – komplett guide på CoddyKit. Detta är lektion 1 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.

Välkommen till REST-controllers!

Ni ska snart börja bygga kraftfulla webbtjänster med Spring Boot! I dag lär vi oss att skapa RESTful APIs, som utgör grunden för moderna webbapplikationer.

Tänk på ett REST API som ett standardiserat sätt för olika datorsystem att kommunicera med varandra över internet.

Vad är RESTful API:er?

REST står för REpresentational State Transfer. Det är en arkitekturstil för nätverksbaserade applikationer.

  • Resurser: Allt är en resurs, till exempel en användare eller en produkt.
  • Unika identifierare: Varje resurs har en unik URL, till exempel /users/123.
  • Standardmetoder: Vi använder HTTP-metoder som GET, POST, PUT och DELETE för att interagera med resurser.

Spring Boot gör det enkelt att implementera detta!

Introduktion till `@RestController`

I Spring Boot är annoteringen @RestController central för att bygga RESTful-webbtjänster. Det är en särskild typ av Spring-komponent.

  • Den talar om för Spring att klassen hanterar inkommande webbförfrågningar.
  • Den kombinerar @Controller och @ResponseBody.

@ResponseBody innebär att returvärdet från era metoder ska bindas direkt till webbsvarskroppen.

Er första GET-endpoint

Låt oss skapa en enkel endpoint som svarar på en GET-förfrågan. GET-förfrågningar används för att hämta data.

Vi använder annoteringen @GetMapping för att mappa HTTP GET-förfrågningar till specifika hanteringsmetoder.

Körbart GET-exempel

Prova att köra den här enkla Spring Boot-applikationen. Den definierar en /hello-endpoint som returnerar en hälsning.

package com.coddykit;

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

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

@RestController
class HelloController {
  @GetMapping("/hello")
  public String sayHello() {
    return "Hello from CoddyKit!";
  }
}

Testa din GET-endpoint

När du har kört den föregående koden startar din Spring Boot-applikation som standard på port 8080.

Du kan komma åt din nya endpoint genom att öppna en webbläsare och gå till:

  • http://localhost:8080/hello

Du bör se meddelandet "Hello from CoddyKit!" visas.

Introduktion till `@PostMapping`

GET används för att hämta data, medan POST-förfrågningar vanligtvis används för att skapa nya resurser på servern.

Annoteringen @PostMapping kopplar HTTP POST-förfrågningar till en specifik metod. När du skickar data kommer den ofta i förfrågningens ”request body”.

Vi använder @RequestBody för att tala om för Spring att den inkommande request body ska konverteras till ett Java-objekt (eller en enkel String).

Körbart POST-exempel

Vi lägger till en POST-endpoint i vår befintliga controller. Den här endpointen tar emot ett namn i request body och returnerar en personlig hälsning.

package com.coddykit;

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

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

@RestController
class HelloController {
  @GetMapping("/hello")
  public String sayHello() {
    return "Hello from CoddyKit!";
  }

  @PostMapping("/greet")
  public String greetUser(@RequestBody String name) {
    return "Hello, " + name + "!";
  }
}

Sökvägsvariabler med `@PathVariable`

Ibland vill du hämta ett värde direkt från själva URL-sökvägen. Då är sökvägsvariabler användbara.

Annoteringen @PathVariable gör att du kan binda en variabel i en URL-mall till en metodparameter.

  • Exempel-URL: /users/123
  • Här är 123 en sökvägsvariabel som representerar ett användar-ID.

Använda sökvägsvariabler i kod

Det här exemplet lägger till en endpoint som använder en sökvägsvariabel för att hälsa på en viss person vars namn ingår i URL:en.

package com.coddykit;

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.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

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

@RestController
class HelloController {
  @GetMapping("/hello")
  public String sayHello() {
    return "Hello from CoddyKit!";
  }

  @PostMapping("/greet")
  public String greetUser(@RequestBody String name) {
    return "Hello, " + name + "!";
  }

  @GetMapping("/greet/{name}")
  public String greetPathVar(@PathVariable String name) {
    return "Greetings, " + name + " from path!";
  }
}

Snabbtest: Grunderna i controllers

Du har lärt dig om `@RestController` och grundläggande mapping-annoteringar. Nu testar vi dina kunskaper.

Sammanfattning: Skapa REST-controllers

Bra jobbat! Du har tagit dina första steg mot att bygga RESTful API:er med Spring Boot:

  • Vi har förstått vad RESTful API:er är och vad de används till.
  • Vi har lärt oss om den grundläggande annoteringen @RestController.
  • Du har implementerat och testat endpoints för GET-förfrågningar med @GetMapping.
  • Du har också skapat en grundläggande POST-endpoint med @PostMapping och använt @RequestBody.
  • Slutligen har du sett hur man hämtar dynamiska data från URL:er med @PathVariable.

Härnäst går vi djupare in på hur man hanterar olika HTTP-förfrågningar och utformar svar!

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 ”Skapa REST-controllers” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Spring Boot 4 – komplett guide, inklusive ”Skapa REST-controllers”, 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 ”Skapa REST-controllers”?

Utforma och implementera RESTful-endpoints med `@RestController` och olika mappningsannoteringar. 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 1 av 4.

Hur lång tid tar lektionen ”Skapa REST-controllers”?

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