Newer
Older
JerseyExercise / src / main / java / com / example / jerseyexercise / resources / HIwatani.java
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("hiwatani")
@Component
public class HIwatani {
    String name = "noname";
    ArrayList<String> tweetList = new ArrayList<>();

    @GET
    public String getHelloWorld(){
        return "Hello World!!";
    }
    @GET
    @Path("/name")
    public String getName(){
        return name;
    }

    @PUT
    @Path("/name")
    public void setName(@FormParam("name") String newName){
        name = newName;
    }

    @POST
    @Path("/tweets")
    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
    public void tweet(@FormParam("tweet")String tweet) {
        tweetList.add(tweet);
        //ArrayListのメソッド:
        //      add(x):     ---リストの末尾にxを追加
        //      get(idx):   ---リストのidx番目の要素を取得
        //      size():     ---リストに入っている要素の数を取得
        //      remove(idx):---リストのidx番目の要素を削除
    }
    @GET
    @Path("/tweets")
    @Produces(MediaType.APPLICATION_JSON)
    public ArrayList<String> getTweets() {
        return tweetList;
    }
    @GET
    @Path("/tweets/{no}")
    @Produces(MediaType.APPLICATION_JSON)
    public String getTweet(@PathParam("no") int n){
        String t = tweetList.get(n);
        return t;
    }
}