zoukankan      html  css  js  c++  java
  • [Spring boot] A quick REST API Guide

    Controller:

    Code below shows a basic Controller to handle GET, POST; DELETE, PUT requests.

    package hello.controller;
    
    import hello.model.Shipwreck;
    import org.springframework.web.bind.annotation.RestController;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RequestBody;
    import org.springframework.web.bind.annotation.PathVariable;
    
    import java.util.List;
    
    @RestController
    @RequestMapping("api/v1/")
    public class ShipController {
        @RequestMapping(value="shipwrecks", method= RequestMethod.GET)
        public List <Shipwreck>list() {
            return ShipwreckStub.list();
        }
    
        @RequestMapping(value = "shipwrecks", method = RequestMethod.POST)
        public Shipwreck create(@RequestBody Shipwreck shipwreck) {
            return ShipwreckStub.create(shipwreck);
        }
    
        @RequestMapping(value="shipwrecks/{id}", method = RequestMethod.GET)
        public Shipwreck get(@PathVariable long id) {
            return ShipwreckStub.get(id);
        }
    
        @RequestMapping(value="shipwrecks/{id}", method = RequestMethod.PUT)
        public Shipwreck update(@PathVariable long id, @RequestBody Shipwreck shipwreck) {
            return ShipwreckStub.update(id, shipwreck);
        }
    
        @RequestMapping(value="shipwrecks/{id}", method = RequestMethod.DELETE)
        public Shipwreck delete(@PathVariable long id) {
            return ShipwreckStub.delete(id);
        }
    }

    Model:

    package hello.model;
    
    public class Shipwreck {
        Long id;
        String name;
        String description;
        String condition;
        Integer depth;
        Double latitude;
        Double longitude;
        Integer yearDiscovered;
    
        public Shipwreck() { }
    
        public Shipwreck(Long id, String name, String description, String condition, Integer depth, Double latitude, Double longitude, Integer yearDiscovered) {
            this.id = id;
            this.name = name;
            this.description = description;
            this.condition = condition;
            this.depth = depth;
            this.latitude = latitude;
            this.longitude = longitude;
            this.yearDiscovered = yearDiscovered;
        }
    
        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;
        }
    
        public String getDescription() {
            return description;
        }
    
        public void setDescription(String description) {
            this.description = description;
        }
    
        public String getCondition() {
            return condition;
        }
    
        public void setCondition(String condition) {
            this.condition = condition;
        }
    
        public Integer getDepth() {
            return depth;
        }
    
        public void setDepth(Integer depth) {
            this.depth = depth;
        }
    
        public Double getLatitude() {
            return latitude;
        }
    
        public void setLatitude(Double latitude) {
            this.latitude = latitude;
        }
    
        public Double getLongitude() {
            return longitude;
        }
    
        public void setLongitude(Double longitude) {
            this.longitude = longitude;
        }
    
        public Integer getYearDiscovered() {
            return yearDiscovered;
        }
    
        public void setYearDiscovered(Integer yearDiscovered) {
            this.yearDiscovered = yearDiscovered;
        }
    }

    Im memory data:

    This is just a mock data.

    package hello.controller;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import hello.model.Shipwreck;
    public class ShipwreckStub {
        private static Map<Long, Shipwreck> wrecks = new HashMap<Long, Shipwreck>();
        private static Long idIndex = 3L;
    
        //populate initial wrecks
        static {
            Shipwreck a = new Shipwreck(1L, "U869", "A very deep German UBoat", "FAIR", 200, 44.12, 138.44, 1994);
            wrecks.put(1L, a);
            Shipwreck b = new Shipwreck(2L, "Thistlegorm", "British merchant boat in the Red Sea", "GOOD", 80, 44.12, 138.44, 1994);
            wrecks.put(2L, b);
            Shipwreck c = new Shipwreck(3L, "S.S. Yongala", "A luxury passenger ship wrecked on the great barrier reef", "FAIR", 50, 44.12, 138.44, 1994);
            wrecks.put(3L, c);
        }
    
        public static List<Shipwreck> list() {
            return new ArrayList<Shipwreck>(wrecks.values());
        }
    
        public static Shipwreck create(Shipwreck wreck) {
            idIndex += idIndex;
            wreck.setId(idIndex);
            wrecks.put(idIndex, wreck);
            return wreck;
        }
    
        public static Shipwreck get(Long id) {
            return wrecks.get(id);
        }
    
        public static Shipwreck update(Long id, Shipwreck wreck) {
            wrecks.put(id, wreck);
            return wreck;
        }
    
        public static Shipwreck delete(Long id) {
            return wrecks.remove(id);
        }
    }
    View Code
  • 相关阅读:
    css 写一个三角形
    vue 知识汇总,中级阶段的。
    获取url参数封装的
    vue 知识点
    不换行css
    微信小程序的横向滚动
    git提交本地分支到远程分支
    linux shell head tail 用法简介
    PHP服务重启
    MongoDB用户创建
  • 原文地址:https://www.cnblogs.com/Answer1215/p/10268890.html
Copyright © 2011-2022 走看看