-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSubscriptionController.java
More file actions
28 lines (23 loc) · 976 Bytes
/
Copy pathSubscriptionController.java
File metadata and controls
28 lines (23 loc) · 976 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package com.techevents.controller;
import com.techevents.dto.SubscriptionRequest;
import com.techevents.service.SubscriptionService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/subscribe")
public class SubscriptionController {
private final SubscriptionService subscriptionService;
public SubscriptionController(SubscriptionService subscriptionService) {
this.subscriptionService = subscriptionService;
}
@PostMapping
public ResponseEntity<String> subscribe(@RequestBody SubscriptionRequest request) {
try {
subscriptionService.subscribe(request);
return ResponseEntity.status(HttpStatus.CREATED).body("Subscribed successfully");
} catch (IllegalArgumentException e) {
return ResponseEntity.status(HttpStatus.CONFLICT).body(e.getMessage());
}
}
}