diff --git a/pattern-search-api/pattern.java b/pattern-search-api/pattern.java new file mode 100644 index 000000000000..6b74f94727ac --- /dev/null +++ b/pattern-search-api/pattern.java @@ -0,0 +1,65 @@ +package com.example.patternsearch; + +public class Pattern { + private String name; + private String description; + + public Pattern(String name, String description) { + this.name = name; + this.description = description; + } + + public String getName() { return name; } + public String getDescription() { return description; } +} + +PatternController.java + package com.example.patternsearch; + +import org.springframework.web.bind.annotation.*; +import java.util.*; +import java.util.stream.Collectors; + +@RestController +@RequestMapping("/api/patterns") +public class PatternController { + + private List patterns = List.of( + new Pattern("Strategy", "Encapsulate algorithms"), + new Pattern("Observer", "Subscribe/notify model"), + new Pattern("Factory Method", "Create objects without specifying class"), + new Pattern("Builder", "Stepwise object construction"), + new Pattern("Decorator", "Add behavior dynamically") + ); + + @GetMapping("/search") + public List searchPatterns(@RequestParam String query) { + return patterns.stream() + .filter(p -> p.getName().toLowerCase().contains(query.toLowerCase())) + .collect(Collectors.toList()); + } +} +index.html: + + + + +