package com.example.jerseyexercise.resources; //import jakarta.annotation.PostConstruct; import jakarta.ws.rs.*; import jakarta.ws.rs.core.MediaType; import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.Set; //import javax.print.attribute.standard.Media; //get: /monaka ->全アカウントの一覧 //post: /monaka ->新規アカウント登録 //get: /monaka/{id} ->idで指定したaccountの名前を返す //put: /monaka/{id} ->idで指定したaccountの名前をnameに変更する @Path("/pocchama") @Component public class PocchamaRest { private HashMap<String, String> accounts = new HashMap<>(); @GET @Produces(MediaType.APPLICATION_JSON)//returnの形をどうするか public Set<String> getAccounts(){ return accounts.keySet(); } @POST @Consumes(MediaType.APPLICATION_FORM_URLENCODED)//こっちよく使う public void signup(@FormParam("id") String id, @FormParam("name") String name) { accounts.put(id, name);//nameは同じことがある } @Path("/{id}") @GET @Produces(MediaType.TEXT_PLAIN) public String getName(@PathParam("id") String id) { return accounts.get(id); } @Path("/{id}") @PUT @Consumes(MediaType.APPLICATION_FORM_URLENCODED) public void setName(@PathParam("id") String id, @FormParam("name") String name) { if(accounts.get(id) == null) return; accounts.put(id, name); } }