用Java写一个 用户选择答题 的API接口
时间: 2023-10-10 18:05:19 浏览: 37
好的,根据您的需求,我可以给您提供一个简单的用户选择答题的API接口的Java代码示例。请参考以下代码:
```java
@RestController
public class QuestionController {
private final List<Question> questions = new ArrayList<>();
// 初始化题目,实际应用中可以从数据库中读取
@PostConstruct
public void init() {
questions.add(new Question(1, "What is the capital of France?", Arrays.asList("Paris", "Berlin", "Madrid", "London"), "Paris"));
questions.add(new Question(2, "What is the largest planet in our solar system?", Arrays.asList("Venus", "Mars", "Jupiter", "Saturn"), "Jupiter"));
questions.add(new Question(3, "What is the smallest country in the world?", Arrays.asList("Monaco", "Vatican City", "Nauru", "San Marino"), "Vatican City"));
}
// 获取所有题目
@GetMapping("/questions")
public List<Question> getQuestions() {
return questions;
}
// 提交答案,判断是否正确
@PostMapping("/submit")
public boolean submitAnswer(@RequestParam int questionId, @RequestParam String answer) {
Optional<Question> question = questions.stream().filter(q -> q.getId() == questionId).findFirst();
if (question.isPresent()) {
return question.get().getAnswer().equals(answer);
}
return false;
}
}
```
其中,Question类表示一个题目,包含题目ID、问题、选项和答案;getQuestions方法用于获取所有题目;submitAnswer方法用于提交答案,需要传入题目ID和用户选择的答案,返回值为布尔类型,表示用户的答案是否正确。
需要注意的是,这只是一个简单的示例,实际应用中还需要考虑安全性、并发性、数据持久化等问题。