diff --git a/src/main/java/com/example/jerseyexercise/resources/Amika.java b/src/main/java/com/example/jerseyexercise/resources/Amika.java new file mode 100644 index 0000000..df493dd --- /dev/null +++ b/src/main/java/com/example/jerseyexercise/resources/Amika.java @@ -0,0 +1,58 @@ +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 accounts = new HashMap<>(); { //キーとヴァリュー + accounts.put("id", "name"); //キーとヴァリュー + //accountsは全員のIDと名前の対応表(mapはnameはかぶっていい) + } + + + + @GET //idだけ取ってくる集合 + @Produces(MediaType.APPLICATION_JSON) //JSONファイルで返す→@Produdes + public Set 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に変更する + diff --git a/src/main/java/com/example/jerseyexercise/resources/FishRest.java b/src/main/java/com/example/jerseyexercise/resources/FishRest.java new file mode 100644 index 0000000..364548f --- /dev/null +++ b/src/main/java/com/example/jerseyexercise/resources/FishRest.java @@ -0,0 +1,47 @@ +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; + +// get: /monaka -> 全アカウントのid一覧を返す +// post(id, name): /monaka -> 新規アカウント登録 + +// get: /monaka/{id} -> idで指定したアカウントの名前を返す +// put(name): /monaka/{id} -> idで指定したアカウントの名前をnameに変更する + +@Path("/fish") +@Component +public class FishRest { + private HashMap accounts = new HashMap<>(); + + @GET + @Produces(MediaType.APPLICATION_JSON) + public Set 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); + } +} diff --git a/src/main/java/com/example/jerseyexercise/resources/MaruRest.java b/src/main/java/com/example/jerseyexercise/resources/MaruRest.java new file mode 100644 index 0000000..e25ceb9 --- /dev/null +++ b/src/main/java/com/example/jerseyexercise/resources/MaruRest.java @@ -0,0 +1,44 @@ +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("/maru") +@Component + +public class MaruRest { + + private HashMap accounts = new HashMap<>(); + + + @GET + @Produces(MediaType.APPLICATION_JSON) + public Set 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); + } +} + diff --git a/src/main/java/com/example/jerseyexercise/resources/NekoCanFlyRest.java b/src/main/java/com/example/jerseyexercise/resources/NekoCanFlyRest.java new file mode 100644 index 0000000..c4c61c5 --- /dev/null +++ b/src/main/java/com/example/jerseyexercise/resources/NekoCanFlyRest.java @@ -0,0 +1,62 @@ +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; +/* +      ,-、            ..-、 +     ./:::::\         /:::::ヽ +    /::::::::;ゝ--──-- 、._/:::::::::ヽ +    /,.-‐''"′          \::::::::| +  /                ヽ、::| + /    ●                ヽ| + l   、、、             ●     l + .|        (_人__丿  、、、    | Hello. + l                    l + ` 、                    / +   `ー 、__             ./ +      /`'''ー‐‐──‐‐‐┬--- / +*/ +// get: /neko -> 全アカウントのid一覧 +// post(id, name): /neko -> 新規アカウント登録 + +// get: /neko/{id} -> idで指定したアカウントの名前 +// put(name): /neko/{id} -> idで指定したアカウントの名前をnameに変更する + +@Path("/neko") +@Component +public class NekoCanFlyRest { + private HashMap accounts = new HashMap<>(); + + @GET + @Produces(MediaType.APPLICATION_JSON)//戻り値の形式(Json or Text) + public Set 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); + } +} diff --git a/src/main/java/com/example/jerseyexercise/resources/PocchamaRest.java b/src/main/java/com/example/jerseyexercise/resources/PocchamaRest.java new file mode 100644 index 0000000..88325d1 --- /dev/null +++ b/src/main/java/com/example/jerseyexercise/resources/PocchamaRest.java @@ -0,0 +1,50 @@ +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 accounts = new HashMap<>(); + @GET + @Produces(MediaType.APPLICATION_JSON)//returnの形をどうするか + public Set 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); + } +} diff --git a/src/main/java/com/example/jerseyexercise/resources/SabotenRest.java b/src/main/java/com/example/jerseyexercise/resources/SabotenRest.java new file mode 100644 index 0000000..c442cf3 --- /dev/null +++ b/src/main/java/com/example/jerseyexercise/resources/SabotenRest.java @@ -0,0 +1,44 @@ +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("/saboten") +@Component +public class SabotenRest { + + private HashMap accounts = new HashMap<>(); + + @GET + @Produces(MediaType.APPLICATION_JSON) + public Set 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); + } + + @GET + @Path("/{id}") + @Produces(MediaType.TEXT_PLAIN) + public String getName(@PathParam("id") String id) { + return accounts.get(id); + } + + @PUT + @Path("/{id}") + @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); + + } + +} diff --git a/src/main/java/com/example/jerseyexercise/resources/SakodaRest.java b/src/main/java/com/example/jerseyexercise/resources/SakodaRest.java new file mode 100644 index 0000000..a9ce0e4 --- /dev/null +++ b/src/main/java/com/example/jerseyexercise/resources/SakodaRest.java @@ -0,0 +1,51 @@ +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("/sakoda") +@Component +public class SakodaRest { + + private HashMap accounts = new HashMap<>(); + + @GET + @Produces(MediaType.APPLICATION_JSON) + public Set getAccounts(){ + return accounts.keySet(); + } + + @POST + @Consumes(MediaType.APPLICATION_FORM_URLENCODED) + public void signup(@FormParam("id") String id, @FormParam("name") String name){ + if(accounts.containsKey(id)){ + return; + }else{ + accounts.put(id, name); + } + } + + @GET + @Path("/{id}") + @Produces(MediaType.TEXT_PLAIN) + public String getName(@PathParam("id") String id){ + return accounts.get(id); + } + + @PUT + @Path("/{id}") + @Consumes(MediaType.APPLICATION_FORM_URLENCODED) + public void setName(@PathParam("id") String id, @FormParam("name") String name){ + if(accounts.containsKey(id)){ + accounts.put(id, name); + }else{ + return; + } + + } + +} \ No newline at end of file diff --git a/src/main/java/com/example/jerseyexercise/resources/byakuyaprskRest.java b/src/main/java/com/example/jerseyexercise/resources/byakuyaprskRest.java new file mode 100644 index 0000000..69276dd --- /dev/null +++ b/src/main/java/com/example/jerseyexercise/resources/byakuyaprskRest.java @@ -0,0 +1,50 @@ +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 HashMapaccounts = new HashMap<>(); + + @GET + @Produces(MediaType.APPLICATION_JSON) + public Set 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); + } + +}