Summary Table
Categories |
Total Count |
PII |
0 |
URL |
0 |
DNS |
0 |
EKL |
0 |
IP |
0 |
PORT |
0 |
VsID |
0 |
CF |
0 |
AI |
0 |
VPD |
0 |
PL |
0 |
Other |
0 |
File Content
package gov.va.med.ars.controller;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
import gov.va.med.ars.exceptions.GenericException;
import gov.va.med.ars.model.request.ArsMailRequest;
import gov.va.med.ars.service.IArsMailService;
import gov.va.med.ars.validators.EmailValidator;
import net.minidev.json.JSONObject;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.validation.BindingResult;
@RestController
public class ArsMailController {
private static final Logger log = LogManager.getLogger(ArsMailController.class);
@Autowired
IArsMailService arsMailService;
@Autowired
EmailValidator emailValidator;
@InitBinder
public void dataBinding(WebDataBinder binder) {
binder.addValidators(emailValidator);
}
@PostMapping(value = "/api/v1/sendMail")
public ResponseEntity<?> submitRfaiRequest( @RequestBody @Valid ArsMailRequest request,BindingResult bindResult) throws GenericException {
ResponseEntity<?> response = null;
String result = "";
JSONObject jsonResponse = new JSONObject();
if(bindResult.hasErrors()){
jsonResponse.put("result", result);
return new ResponseEntity<>(jsonResponse, HttpStatus.BAD_REQUEST);
}
try {
result = arsMailService.sendArsMail(request);
} catch(Exception e) {
log.info("Error occured", e.getMessage());
}
jsonResponse.put("result", result);
response = new ResponseEntity<>(jsonResponse, HttpStatus.CREATED);
return response;
}
@InitBinder()
public void customizeBinding (WebDataBinder binder) {
binder.setDisallowedFields(new String[]{});
}
}