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("/byakuyaprsk")
@Component
public class byakuyaprskRest {
// get: /byakuyaprsk -> 全アカウントのid一覧を返す
// post(id, name): /byakuyaprsk -> 新規アカウント登録
// get: /byakuyaprsk/{id} -> idで指定したアカウントの名前を返す
// put(name): /byakuyaprsk/{id} -> idで指定したアカウントの名前をnameに変更する
private HashMap<String,String>accounts = new HashMap<>();
@GET
@Produces(MediaType.APPLICATION_JSON)
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);
}
@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);
}
}