Newer
Older
JerseyExercise / src / main / java / com / example / jerseyexercise / resources / byakuyaprskRest.java
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);
    }

}