diff --git a/src/main/java/com/example/jerseyexercise/resources/natty.java b/src/main/java/com/example/jerseyexercise/resources/natty.java new file mode 100644 index 0000000..291a21a --- /dev/null +++ b/src/main/java/com/example/jerseyexercise/resources/natty.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.ArrayList; + +@Path("natty")//クラス名MyAccountと全く違うものでも良い@はアノテーションっていうプログラムの目印 +@Component//ジャージでする時は絶対につける +public class natty { + String name = "NoName"; + ArrayList tweetList = new ArrayList<>();//AllayListのStringにしますよってするとストリングがたでリストを作れるArrayListはクラスで宣言するだけじゃなく、右辺でインスタンスを作成しないといけない + //ArrayListによく使うメソッドは4つある、 + // .add(tweet) listの末尾にtweetを追加 + // .get(index) listのindex番目の要素を取得 + // .size() listにいくつ要素が入っているのか取得 + //remove(index) listのindex番目の要素を削除 + + @GET//下にあるメソッドがGETメソッドっていうことが分かる + public String getHelloWorld(){ + return "Hello World!!"; + } + + @GET//myaccount/name のget + @Path("/name")//myaccountの子リソースができる + public String getName(){ + return name; + } + + @PUT + @Path("name/") + public void setName(@FormParam("name") String newName){ + name = newName; + }//パラーメータがname + + @POST + @Path("/tweets") + @Consumes(MediaType.APPLICATION_FORM_URLENCODED)//引数 + public void tweet(@FormParam("tweet") String tweet){ + tweetList.add(tweet); + }//tweetをリストに格納していく + + @GET + @Path("/tweets") + @Produces(MediaType.APPLICATION_JSON)//戻り値の受け取り方、文字列以外は返せない、 + public ArrayList getTweets(){ + return tweetList; + } + + @GET + @Path("/tweets/{no}")//noはパスパラメータで{}をつけることでパラメータになる + @Produces(MediaType.APPLICATION_JSON) + public String getTweet(@PathParam("no") int n){ + String t = tweetList.get(n);//tweetwListからn番目のtweetを取ってくる + return t; + } +}