| | package com.example.jerseyexercise.resources; |
---|
| | |
---|
| | import jakarta.ws.rs.*; |
---|
| | import jakarta.ws.rs.core.MediaType; |
---|
| | import org.springframework.stereotype.Component; |
---|
| | |
---|
| | import java.util.HashMap; |
---|
| | import java.util.Set; |
---|
| | |
---|
| | @Path("/amika") // |
---|
| | @Component //Rest作るときは、@component書く |
---|
| | |
---|
| | public class Amika { |
---|
| | |
---|
| | private HashMap<String, String> accounts = new HashMap<>(); { //キーとヴァリュー |
---|
| | accounts.put("id", "name"); //キーとヴァリュー |
---|
| | //accountsは全員のIDと名前の対応表(mapはnameはかぶっていい) |
---|
| | } |
---|
| | |
---|
| | |
---|
| | |
---|
| | @GET //idだけ取ってくる集合 |
---|
| | @Produces(MediaType.APPLICATION_JSON) //JSONファイルで返す→@Produdes |
---|
| | public Set<String> getAccounts() { |
---|
| | return accounts.keySet(); //keyをどさっととってこれる |
---|
| | |
---|
| | } |
---|
| | |
---|
| | @POST |
---|
| | @Consumes(MediaType.APPLICATION_FORM_URLENCODED) |
---|
| | //consumeはAPPLICATION_FORM_URLENCODEDだけ |
---|
| | //formdataのこと |
---|
| | public void signup(@FormParam("id") String id, @FormParam("name") String name){ |
---|
| | //idを名前新規作成 |
---|
| | accounts.put(id,name); |
---|
| | |
---|
| | } |
---|
| | |
---|
| | @Path("/{id}")//その子リソースをメソッドが扱う |
---|
| | @Produces(MediaType.TEXT_PLAIN) |
---|
| | public String getName(@PathParam("id") String id){ //@PathParamでid受け取る |
---|
| | return accounts.get(id); |
---|
| | } |
---|
| | |
---|
| | @Path("/{id}")//その子リソースをメソッドが扱う |
---|
| | @Consumes(MediaType.APPLICATION_FORM_URLENCODED) //consumeはこの形式だけ |
---|
| | public void setName(@PathParam("id") String id, @FormParam("name") String name) { |
---|
| | if (accounts.get(id) == null) return; |
---|
| | accounts.put(id, name); |
---|
| | } |
---|
| | |
---|
| | } |
---|
| | |
---|
| | // get: /amika -> 全アカウントのID一覧を返す |
---|
| | // post:(id, name): /amika 新規アカウント登録 |
---|
| | // get: /amika/{id} -> idで指定したアカウントの名前を返す |
---|
| | //put(name): /amika/{id} -> id で指定したアカウントの名前をnameに変更する |
---|
| | |
---|
| | |
---|
| | |