diff options
author | Zhongheng Liu <z.liu@outlook.com.gr> | 2024-01-19 21:02:17 +0200 |
---|---|---|
committer | Zhongheng Liu <z.liu@outlook.com.gr> | 2024-01-19 21:02:17 +0200 |
commit | 7992705e9ceda23164be74378659b26008b20882 (patch) | |
tree | b9c27899bf65e955336159245721da3a21bed9c0 | |
parent | 2e73088d2a1604bc0ec77926c2c312cb86a6800a (diff) | |
download | epq-api-7992705e9ceda23164be74378659b26008b20882.tar.gz epq-api-7992705e9ceda23164be74378659b26008b20882.tar.bz2 epq-api-7992705e9ceda23164be74378659b26008b20882.zip |
Added server-side CORS support for API endpoints
4 files changed, 23 insertions, 11 deletions
diff --git a/src/main/java/me/imsonmia/epqapi/EpqapiApplication.java b/src/main/java/me/imsonmia/epqapi/EpqapiApplication.java index 75c0655..d4ef329 100644 --- a/src/main/java/me/imsonmia/epqapi/EpqapiApplication.java +++ b/src/main/java/me/imsonmia/epqapi/EpqapiApplication.java @@ -4,6 +4,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Bean; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @SpringBootApplication public class EpqapiApplication extends Thread { @@ -14,4 +17,13 @@ public class EpqapiApplication extends Thread { SpringApplication.run(EpqapiApplication.class, args); } + @Bean + public WebMvcConfigurer corsConfigurer() { + return new WebMvcConfigurer() { + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**").allowedOrigins("*"); + } + }; + } } diff --git a/src/main/java/me/imsonmia/epqapi/config/WebMvcConfigurer.java b/src/main/java/me/imsonmia/epqapi/config/WebMvcConfigurer.java new file mode 100644 index 0000000..4f699cb --- /dev/null +++ b/src/main/java/me/imsonmia/epqapi/config/WebMvcConfigurer.java @@ -0,0 +1 @@ +package me.imsonmia.epqapi.config; diff --git a/src/main/java/me/imsonmia/epqapi/controller/UserController.java b/src/main/java/me/imsonmia/epqapi/controller/UserController.java index 8a29082..842e353 100644 --- a/src/main/java/me/imsonmia/epqapi/controller/UserController.java +++ b/src/main/java/me/imsonmia/epqapi/controller/UserController.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import java.util.Optional; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpHeaders; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; @@ -38,8 +39,13 @@ public class UserController { // malformed request return ResponseEntity.badRequest().build(); } else { + boolean exists = userRepository.existsByUserName(name.get()); // Filter by name branch - return ResponseEntity.ok().body(userRepository.findByUserName(name.get())); + if (!exists) { + return ResponseEntity.notFound().build(); + } else { + return ResponseEntity.ok().body(userRepository.findByUserName(name.get()).get()); + } } } else { // get by id branch @@ -85,13 +91,4 @@ public class UserController { } return messages; } - // @PatchMapping("/user/{id}") - // boolean changeUserProperties(@PathVariable(value = "id") Long userId, - // @RequestBody User newUser) { - // if (!userRepository.existsById(userId)) { - // return false; - // } - // userRepository.save(newUser); - // return true; - // } } diff --git a/src/main/java/me/imsonmia/epqapi/repository/UserRepository.java b/src/main/java/me/imsonmia/epqapi/repository/UserRepository.java index 296500b..7bc2a85 100644 --- a/src/main/java/me/imsonmia/epqapi/repository/UserRepository.java +++ b/src/main/java/me/imsonmia/epqapi/repository/UserRepository.java @@ -1,11 +1,13 @@ package me.imsonmia.epqapi.repository; +import java.util.Optional; + import org.springframework.data.repository.CrudRepository; import me.imsonmia.epqapi.model.User; public interface UserRepository extends CrudRepository<User, Long> { - User findByUserName(String userName); + Optional<User> findByUserName(String userName); boolean existsByUserName(String userName); } |