第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從 Quartz 調(diào)度程序調(diào)用函數(shù)時,如何將 HttpRequest/Reponse 作為參數(shù)傳遞給

從 Quartz 調(diào)度程序調(diào)用函數(shù)時,如何將 HttpRequest/Reponse 作為參數(shù)傳遞給

撒科打諢 2023-05-17 16:10:40
我正在運(yùn)行 spring-boot 應(yīng)用程序,我已經(jīng)將 quartz 調(diào)度程序?qū)崿F(xiàn)為應(yīng)用程序的一部分。早些時候我有一個帶有端點(diǎn)的休息控制器,例如http://localhost:8080/GoogleMail/ {id} 它觸發(fā)如下所示的函數(shù)并接受 HttpServletRequest/Response 作為參數(shù)以及我傳遞的 Pathvariable。@PostMapping(value = "/GoogleMail/{id}", consumes = "application/json", produces = "application/json")    public String sendMail(HttpServletRequest request, HttpServletResponse response, @Valid @PathVariable(value = "id") String id,            @Valid @RequestBody MailMessage mailMsg) throws Exception {        if(id == null || id.isEmpty()) {            ResponseEntity.badRequest().build();        }        this.userId = id;        return GoogleMailIntegrationService.sendUserMails(request, response, id, mailMsg,                m -> !StringUtils.isBlank(mailMsg.getTo())                && !StringUtils.isBlank(mailMsg.getSubject())                && !StringUtils.isBlank(mailMsg.getBody()));    }現(xiàn)在不是進(jìn)行 REST 調(diào)用,而是需要使用 Quartz 調(diào)度程序每 1 小時發(fā)布一次 JSON 正文來調(diào)用此函數(shù)??赡苋缦聢Dif (context.getJobDetail().getKey().getName().equalsIgnoreCase(JobName.READRESPONSE.toString())) {           // emailService.readMail();            try {              sendMail(Request, Response, id);            } catch (IOException e) {                e.printStackTrace();            }我的問題:有沒有辦法使用調(diào)度程序進(jìn)行 REST 調(diào)用,或者是否可以通過直接傳遞請求/響應(yīng)參數(shù)來進(jìn)行 sendMail() 調(diào)用。我不確定如何執(zhí)行此操作,我花了大部分時間在發(fā)布之前瀏覽解決方案。
查看完整描述

1 回答

?
偶然的你

TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個贊

您可以使用RestTemplate通過以下方式對某個控制器端點(diǎn)進(jìn)行請求調(diào)用:


if (context.getJobDetail().getKey().getName().equalsIgnoreCase(JobName.READRESPONSE.toString())) {

     // emailService.readMail();

     try {

         RestTemplate restTemplate = new RestTemplate();

         HttpEntity<MailMessage > request = new HttpEntity<>(mailMsg, new HttpHeaders());


         ResponseEntity<String> responseEntityStr = 

             restTemplate.postForEntity(

             String.format("http://localhost:7777/GoogleMail/%s", id), 

             request, String.class);


     } catch (IOException e) {

            e.printStackTrace();

     }


查看完整回答
反對 回復(fù) 2023-05-17
  • 1 回答
  • 0 關(guān)注
  • 152 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號