Я получаю сообщение об ошибке: -
"Доступ к XMLHttpRequest по адресу http://localhost:8080/api/nemis- ops / претензий / v1.0 / reports / twsScheduleReport 'из источника' http://localhost:4200' было заблокировано политикой CORS: Ответ на предполётный запрос не проходит проверку контроля доступа: в запрашиваемом ресурсе отсутствует заголовок «Access-Control-Allow-Origin». "
Пожалуйстапомогите мне в этом, я не знаю, в чем проблема в угловом коде или моей пружинной загрузке Java. Когда я нажимаю кнопку поиска, возникает вышеуказанная ошибка, в которой CORS указывает на «Access-Control-Allow-Origin».
Мой контроллер: -
**import statments**
@CrossOrigin
@RestController
@RequestMapping("/api/nemis/claims/v1.0/")
public class TwsScheduleController {
private static final Logger logger = LogManager.getLogger(TwsScheduleController.class);
@Autowired
private TwsScheduleService TwsScheduleService;
/**
* TwsSchedule Report Rest end point for search functionality
*
* @param claimFilterModel
* @return List<TwsScheduleModel>
* @throws ParseException
*/
@PostMapping("/reporting/twsScheduleReport/")
@CrossOrigin
public ResponseEntity<List<TwsScheduleModel>> getTwsScheduleReport(@RequestBody ClaimFilterModel claimFilterModel)
throws ParseException {
logger.info("Fetching Data for TwsSchedule Report Begin");
String employeeMsId = "pshar25";
List<TwsScheduleModel> list = TwsScheduleService.getTwsScheduleReport(claimFilterModel,
employeeMsId);
logger.info("Fetching Data for TwsSchedule Report End");
return new ResponseEntity<List<TwsScheduleModel>>(list, HttpStatus.OK);
}
}
Мой сервис: -
**import statments**
@ConfigurationProperties
@Service
public class TwsScheduleServiceImpl implements TwsScheduleService {
private static final Logger logger = LogManager.getLogger(RecurrenceServiceImpl.class);
@Autowired
private TwsScheduleDao twsScheduleDao;
/**
* Get the TwsSchedule report for the date range and state
* @param claimFilterModel
* @return List<TwsScheduleModel>
*/
@Override
public List<TwsScheduleModel> getTwsScheduleReport(ClaimFilterModel claimFilterModel, String
employeeMsId) {
return twsScheduleDao.getTwsScheduleReport(claimFilterModel, employeeMsId);
}
Мой DAO: -
**import statments**
@Transactional
@Repository
@PropertySource("classpath:sql/dailyOps-sql.properties")
public class TwsScheduleDaoImpl implements TwsScheduleDao {
private static final Logger logger = LogManager.getLogger(TwsScheduleDaoImpl.class);
@Value("${fetchAll_TwsSchedule}")
private String fetchAll_TwsSchedule_SQL;
@Value("${fetch_TwsSchedule_byState}")
private String fetch_TwsSchedule_byState_SQL;
@Autowired
Utility utility;
@Autowired
@Qualifier("enc1NamedJdbcTemplate")
private NamedParameterJdbcTemplate namedParameterJdbcTemplateEnc1;
@Autowired
@Qualifier("enc2NamedJdbcTemplate")
private NamedParameterJdbcTemplate namedParameterJdbcTemplateEnc2;
@Autowired
Messenger messenger;
/**
* get the TwsSchedule report for the date range and state
* @param geoState
* @return List<TwsScheduleModel>
*/
@Override
public List<TwsScheduleModel> getTwsScheduleReport(ClaimFilterModel claimFilterModel, String
employeeMsId) {
Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("geo_state", claimFilterModel.getState());
paramMap.put(Constants.EMPLOYEEMSID, employeeMsId);
RowMapper<TwsScheduleModel> rowMapper = new BeanPropertyRowMapper<TwsScheduleModel>
(TwsScheduleModel.class);
List<TwsScheduleModel> tws_model = new ArrayList<TwsScheduleModel>();
// If geoState is set to ALL fetch from both database instances
if (claimFilterModel.getState().equals("ALL"))
{
tws_model = utility.getNamedParameterJdbcTemplate(1)
.query(fetchAll_TwsSchedule_SQL, paramMap, rowMapper);
tws_model.addAll(utility.getNamedParameterJdbcTemplate(2)
.query(fetchAll_TwsSchedule_SQL, paramMap, rowMapper));
}
/* If there is more than one state provided, split the state input and delimit by "," then fetch
from corresponding
* database for each state */
else if(claimFilterModel.getState().length() > 3)
{
String [] my_split = claimFilterModel.getState().split(",");
for(int i = 0; i < my_split.length; i++)
{
paramMap.put("geo_state", my_split[i]);
if (utility.getNamedParameterJdbcTemplate(my_split[i]) == null) {
tws_model.addAll(namedParameterJdbcTemplateEnc1.query(fetch_TwsSchedule_byState_SQL,paramMap,
rowMapper));
tws_model.addAll(namedParameterJdbcTemplateEnc2.query(fetch_TwsSchedule_byState_SQL,paramMap,
rowMapper));
}
else{
tws_model.addAll(utility.getNamedParameterJdbcTemplate(my_split[i])
.query(fetch_TwsSchedule_byState_SQL,paramMap, rowMapper));
}
}
}
// If there is only one state provided, fetch from the corresponding database
else
{
if (utility.getNamedParameterJdbcTemplate(claimFilterModel.getState()) == null) {
tws_model.addAll(namedParameterJdbcTemplateEnc1.query(fetch_TwsSchedule_byState_SQL,paramMap,
rowMapper));
tws_model.addAll(namedParameterJdbcTemplateEnc2.query(fetch_TwsSchedule_byState_SQL,paramMap,
rowMapper));
}
else{
tws_model = utility.getNamedParameterJdbcTemplate(claimFilterModel.getState())
.query(fetch_TwsSchedule_byState_SQL,paramMap, rowMapper);
}
}
return tws_model;
}
}