[Spring boot] A quick REST API Guide
Posted Answer1215
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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); } }
以上是关于[Spring boot] A quick REST API Guide的主要内容,如果未能解决你的问题,请参考以下文章