import ink.wgink.annotation.remote.RemoteServer; import ink.wgink.annotation.remote.method.RemoteDeleteMethod; import ink.wgink.annotation.remote.method.RemoteGetMethod; import ink.wgink.annotation.remote.method.RemotePostMethod; import ink.wgink.annotation.remote.method.RemotePutMethod; import ink.wgink.annotation.remote.params.RemoteJsonBodyParams; import ink.wgink.annotation.remote.params.RemotePathParams; import ink.wgink.annotation.remote.params.RemoteQueryParams; import ink.wgink.pojo.dtos.user.UserDTO; import ink.wgink.pojo.result.SuccessResult; import ink.wgink.pojo.result.SuccessResultList; import ink.wgink.util.remote.rest.proxy.RestRemoteProxy; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @ClassName: RemoteTest * @Description: 远程调用 * @Author: wanggeng * @Date: 2021/9/19 11:28 下午 * @Version: 1.0 */ public class RemoteTest { public interface IDemo { @RemoteGetMethod("/app/user-expand/get-user-release/{userId}") UserDTO getUser(@RemoteServer String remotePath, @RemotePathParams("userId") String userId); @RemoteGetMethod("/app/user-expand/list-user-release") List listUser(@RemoteServer String remotePath); @RemoteGetMethod("/app/user-expand/listpage-user-release") SuccessResultList> listPageUser(@RemoteServer String remotePath, @RemoteQueryParams("page") Integer page, @RemoteQueryParams("size") Integer size); @RemotePostMethod("/app/user-expand/save-release") SuccessResult postRelease(@RemoteServer String remotePath, @RemoteJsonBodyParams Map params); @RemotePostMethod("/app/user-expand/save-list-release") SuccessResult postListRelease(@RemoteServer String remotePath, @RemoteJsonBodyParams List> params); @RemotePutMethod("/app/user-expand/update-release") SuccessResult putRelease(@RemoteServer String remotePath, @RemoteJsonBodyParams Map params); @RemoteDeleteMethod("/app/user-expand/delete-release/{userIds}") SuccessResult deleteRelease(@RemoteServer String remotePath, @RemotePathParams("userIds") String userIds); } public static void main(String[] args) { String remotePath = "http://127.0.0.1:7008/study"; IDemo instance = RestRemoteProxy.getInstance(IDemo.class); UserDTO userDTO = instance.getUser(remotePath, "e48e9c4a-995e-4061-abcd-a3c260c11333"); System.out.println(userDTO); System.out.println(); List userDTOs = instance.listUser(remotePath); System.out.println(userDTOs.size()); System.out.println(); SuccessResultList> successResultUserList = instance.listPageUser(remotePath, 1, 5); System.out.println(successResultUserList.getPage()); System.out.println(); Map requestBody = new HashMap<>(); requestBody.put("aaa", "aaa1"); SuccessResult successResult = instance.postRelease(remotePath, requestBody); System.out.println(successResult); System.out.println(); List> listBody = new ArrayList<>(); listBody.add(requestBody); SuccessResult successResult1 = instance.postListRelease(remotePath, listBody); System.out.println(successResult1); System.out.println(); requestBody.put("aaa", "aaa2"); SuccessResult successResult2 = instance.putRelease(remotePath, requestBody); System.out.println(successResult2); System.out.println(); SuccessResult successResult3 = instance.deleteRelease(remotePath, "abc_def_ghi"); System.out.println(successResult3); System.out.println(); } }