@@ -2,31 +2,88 @@ package {{package}};
22
33import { {package} }.*;
44import { {modelPackage} }.*;
5- { {#operations} }{ {#operation} }{ {#isMultipart} }import org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput;
6- { {/isMultipart} }{ {/operation} }{ {/operations} }
5+ import io.quarkiverse.mcp.server.Tool;
6+ import io.quarkiverse.mcp.server.ToolArg;
7+ import jakarta.enterprise.context.ApplicationScoped;
8+ import lombok.AllArgsConstructor;
79
8- { {#imports} }import { {import} };
10+ { {#operations} }
11+ { {#operation} }
12+ { {#isMultipart} }
13+ import org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput;
14+ { {/isMultipart} }
15+ { {/operation} }
16+ { {/operations} }
17+
18+ { {#imports} }
19+ import { {import} };
920{ {/imports} }
1021
1122import java.util.List;
1223import { {package} }.NotFoundException;
13-
1424import java.io.InputStream;
1525
1626{ {#useBeanValidation} }
1727import { {javaxPackage} }.validation.constraints.*;
1828import { {javaxPackage} }.validation.Valid;
1929{ {/useBeanValidation} }
30+
2031import { {javaxPackage} }.ws.rs.core.Response;
2132import { {javaxPackage} }.ws.rs.core.SecurityContext;
2233
2334{ {> generatedAnnotation} }
2435
2536{ {#operations} }
2637public interface { {classname} }Service {
27- {{#operation} }
28- Response { {nickname} }({ {#isMultipart} }MultipartFormDataInput input,{ {/isMultipart} }{ {#allParams} }{ {> serviceQueryParams} }{ {> servicePathParams} }{ {> serviceHeaderParams} }{ {> serviceBodyParams} }{ {^isMultipart} }{ {> serviceFormParams} },{ {/isMultipart} }{ {#isMultipart} }{ {^isFormParam} },{ {/isFormParam} }{ {/isMultipart} }{ {/allParams} }SecurityContext securityContext)
29- throws NotFoundException;
30- { {/operation} }
38+ {{#operation} }
39+ Response { {nickname} }(
40+ { {#isMultipart} }MultipartFormDataInput input,{ {/isMultipart} }
41+ { {#allParams} }
42+ { {> serviceQueryParams} }{ {> servicePathParams} }{ {> serviceHeaderParams} }{ {> serviceBodyParams} }{ {^isMultipart} }{ {> serviceFormParams} },{ {/isMultipart} }{ {#isMultipart} }{ {^isFormParam} },{ {/isFormParam} }{ {/isMultipart} }
43+ { {/allParams} }
44+ SecurityContext securityContext
45+ ) throws NotFoundException;
46+
47+ default Response { {nickname} }(
48+ { {#isMultipart} }MultipartFormDataInput input,{ {/isMultipart} }
49+ { {#allParams} }
50+ { {> serviceQueryParams} }{ {> servicePathParams} }{ {> serviceHeaderParams} }{ {> serviceBodyParams} }{ {^isMultipart} }{ {> serviceFormParams} }{ {^last} }, { {/last} }{ {/isMultipart} }{ {#isMultipart} }{ {^isFormParam} }{ {^last} }, { {/last} }{ {/isFormParam} }{ {/isMultipart} }
51+ { {/allParams} }
52+ String context
53+ ) throws NotFoundException {
54+ return {{nickname} }(
55+ { {#isMultipart} }input,{ {/isMultipart} }
56+ { {#allParams} }{ {paramName} },{ {/allParams} }
57+ (SecurityContext)null
58+ );
59+ }
60+ { {/operation} }
61+ }
62+ { {#vendorExtensions.x-enable-mcp-server} }
63+ @ApplicationScoped
64+ @AllArgsConstructor
65+ class Mcp{ {classname} }Service {
66+ {{classname} }Service service;
67+
68+ { {#operation} }
69+ { {#vendorExtensions.x-enable-mcp-operation} }
70+ @Tool(description = "{ {summary} }")
71+ public Response { {nickname} }(
72+ { {#isMultipart} }MultipartFormDataInput input,{ {/isMultipart} }
73+ { {#allParams} }
74+ @ToolArg(description = "{ {description} }", required = false)
75+ { {> serviceQueryParams} }{ {> servicePathParams} }{ {> serviceHeaderParams} }{ {> serviceBodyParams} }{ {^isMultipart} }{ {> serviceFormParams} }{ {^last} }, { {/last} }{ {/isMultipart} }{ {#isMultipart} }{ {^isFormParam} }{ {^last} }, { {/last} }{ {/isFormParam} }{ {/isMultipart} }
76+ { {/allParams} }
77+ String context
78+ ) throws NotFoundException {
79+ return service.{{nickname} }(
80+ { {#isMultipart} }input,{ {/isMultipart} }
81+ { {#allParams} }{ {paramName} },{ {/allParams} }
82+ (SecurityContext)null
83+ );
84+ }
85+ { {/vendorExtensions.x-enable-mcp-operation} }
86+ { {/operation} }
3187}
88+ { {/vendorExtensions.x-enable-mcp-server} }
3289{ {/operations} }
0 commit comments