簡體   English   中英

如何通過java反射發送HTTP請求

[英]how to send HTTP request through java reflection

我有一種在春季開發的方法。 以下是我的方法:

@PreAuthorize("isAuthenticated() and hasPermission(#request, 'CREATE_REQUISITION')")
    @RequestMapping(method = RequestMethod.POST, value = "/trade/createrequisition")
    public @ResponseBody
    void createRequisition(@RequestBody CreateRequisitionRO[] request,
            @RequestHeader("validateOnly") boolean validateOnly) {
        logger.debug("Starting createRequisition()...");
        for (int i = 0; i < request.length; i++) {
            CreateRequisitionRO requisitionRequest = request[i];

            // FIXME this has to be removed/moved
            requisitionRequest.setFundManager(requisitionRequest.getUserId());
            // FIXME might have to search using param level as well
            SystemDefault sysDefault = dbFuncs.references.systemDefault
                    .findByCompanyAndDivisionAndPortfolio(
                            userContext.getCompany(),
                            userContext.getDivision(),
                            requisitionRequest.getPortfolio());
            requisitionRequest.setCustodianN(sysDefault.getCustodianN());

            gateKeeper.route(requisitionRequest);
        }
    }

我想通過java反射並獲取響應來調用此方法。 然后比較響應。

Tomcat已啟動,用戶已登錄到系統。 當tomcat啟動時,我必須使用反射來調用該方法。

如何在java反射中做到這一點?

請提供幫助,如果可能,請提出一些建議,如果不可能的話,請向我提供幫助我解決問題的可能性。

編輯:

這是我嘗試過的,但是沒有用:

Class cls;
        CreateRequisitionRO[] request = new CreateRequisitionRO[10];
        try {
            //load the HexgenWebAPI at runtime
            cls = Class.forName("com.hexgen.api.facade.HexgenWebAPI");
            Object obj = cls.newInstance();

            Method method = cls.getDeclaredMethod("createRequisition", parames,booleanVal);
            method.invoke(obj, request,true);


        }catch(Exception ex){
            ex.printStackTrace();
            System.out.println("status of reflection : "+ex.getCause());
        }

最好的問候安托

根據對評論的答復,您正在嘗試測試Spring MVC控制器。 我認為您沒有任何理由必須決心反思。 單元測試最好編寫並在Web容器之外運行。 如果要進行集成測試,請查看Spring-MVC-Test ,或使用瀏覽器測試框架,例如WebDriverHtmlUnit

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM