Wyświetlanie losowej linijki pliku txt (webservice)

0

Dobry wieczór,

przychodzę z zapytaniem, w jaki sposób mogę wczytać losową linijkę pliku txt tak aby wyświetlił pod adresem localhost : 8080 / motto
Tekst wpisany w kod już czyta.

@RequestMapping("/motto")
public class Controller {
    public static String read() throws Exception {
        File file = new File("/ala.txt");
        BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
        ArrayList<String> arrayList = new ArrayList<>();
        String line;
        while ((line = bufferedReader.readLine()) != null) {
            arrayList.add(line);
        }
        Random random = new Random();
        return arrayList.get(random.nextInt(arrayList.size()));
    }
}
0
import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class Controller {
    @GetMapping("/motto")
    @ResponseBody
	// Drive Function
	public static void main(String[] args)
	{

		// create a list of Integer type
		List<Integer> list = new ArrayList<>();
		// add 5 element in ArrayList
		list.add(10);
		list.add(20);
		list.add(30);
		list.add(40);
		list.add(50);

		Controller obj = new Controller();

		// take a random element from list and print them
		System.out.println(obj.getRandomElement(list));
	}

	// Function select an element base on index
	// and return an element
    public int getRandomElement(List<Integer> list) 
	{
		Random rand = new Random();
		return list.get(rand.nextInt(list.size()));
	}
}

Tak samo dla tego przykładu nie działa

0

Witamy. Co nie działa, jaki błąd dostajesz? Czy umiesz przeczytać plik w Springu? Pogoogluj „how to read file Spring”.

Druga sprawa - poczytaj jak zrobić Controller restowy, bo póki co to nie zadziała. Czyli w Google „Rest controller Spring”. Wróć na Forum jak poszukasz. #samodzielnosc

0

Niespecjalnie wiem nawet jak ten kontroler miałby działać. Zacznij od tego że utwórz sobie nową klasę np. RandomValueController:

@RestController
 public class RandomValueController{
     @GetMapping("/motto")
     @ResponseBody
      public String getRandomValues(){
               ........................
               .....................
       }
}

I z tego dalej możesz coś lepić bo póki co to co wrzuciłeś jak dla mnie większego sensu nie ma.
Tu masz zresztą wszystko napisane:
https://spring.io/guides/gs/spring-boot/

0

Mozesz popatrzec jak jest zrobiony Chuck Norris Service (Spring Boot):
https://github.com/carlop/jokeapp?files=1

1 użytkowników online, w tym zalogowanych: 0, gości: 1