【Azure API 管理】通过Java APIM SDK创建一个新的API,如何为Reqeust的Representation设置一个内容示例(Sample)?

简介: 【Azure API 管理】通过Java APIM SDK创建一个新的API,如何为Reqeust的Representation设置一个内容示例(Sample)?

问题描述

在使用API Management服务时,以Echo API(默认创建)举例,它会在Request的body部分默认设置一个SAMPLE指,这样在测试接口时候,就会有默认的Body内容,我们只需要根据JSON值就可以了。测试非常便捷。

那么,如果需要通过Java APIM的SDK来创建一个新接口,并且为它设置SAMPLE值,如何来实现呢?

问题解答

查看源代码文件,可以使用 withExamples 方法来实现 public RepresentationContract

withExamples(Map<String,ParameterExampleContract> examples)

源文件路径https://docs.microsoft.com/en-us/java/api/com.azure.resourcemanager.apimanagement.models.representationcontract.withexamples?view=azure-java-preview

 

 

示例代码包含三部分

 

第一部分:以Vehicle为原型,生成ParameterExampleContract对象

Vehicle vehicle = new Vehicle().withVehicleType("vehicleType").withSpeedUnit("KM").withMaxSpeed(125).withAvgSpeed(90);
ParameterExampleContract parameterExample = new ParameterExampleContract().withValue(vehicle);

 

第二部分:把第一部分生成的对象,加入到Map对象

Map<String, ParameterExampleContract> map = new HashMap<String, ParameterExampleContract>();
map.put("default", parameterExample);

注意:一定要设置Map的Key,第一个参数一定要为 default。

 

第三部分:在APIM的manager创建函数中使用map对象

manager
        .apiOperations()
        .define("newoperations")
        .withExistingApi("rg1", "apimService2", "echo-api")
        .withDisplayName("test sample")
        .withMethod("POST")
        .withUrlTemplate("/user1")
        .withTemplateParameters(Arrays.asList())
        .withDescription("This can only be done by the logged in user.")
        .withRequest(
                new RequestContract()
                        .withDescription("Created user object")
                        .withQueryParameters(Arrays.asList())
                        .withHeaders(Arrays.asList())
                        .withRepresentations(
                                Arrays
                                        .asList(
                                                new RepresentationContract()
                                                        .withContentType("application/json")
                                                        .withExamples(map)
                                                        .withTypeName("User"))))
        .withResponses(
                Arrays.asList(
                        new ResponseContract()
                                .withStatusCode(200)
                                .withDescription("successful operation")
                                .withRepresentations(
                                        Arrays.asList(
                                                new RepresentationContract()
                                                        .withContentType("application/xml"),
                                                new RepresentationContract()
                                                        .withContentType("application/json")))
                                .withHeaders(Arrays.asList())))
        .create();

 

 

 

附录一:第一部分中Vehicle 类的定义截图

附录二:创建成功后的截图

 

 

 

参考资料

Azure Resource Manager ApiManagement client library for Java: https://docs.microsoft.com/en-us/java/api/overview/azure/resourcemanager-apimanagement-readme?view=azure-java-preview

RepresentationContract.withExamples(Map<String,ParameterExampleContract> examples) Methodhttps://docs.microsoft.com/en-us/java/api/com.azure.resourcemanager.apimanagement.models.representationcontract.withexamples?view=azure-java-preview

相关文章
|
9月前
|
存储 JSON 监控
亚马逊:调用促销管理API设置跨店满赠,提升客单价
本文介绍了如何通过亚马逊SP-API实现跨店满赠促销,提升卖家客单价。内容涵盖概念、优势、API调用步骤及代码示例,助力自动化高效促销部署。
|
存储 IDE Java
java设置栈内存大小
在Java应用中合理设置栈内存大小是确保程序稳定性和性能的重要措施。通过JVM参数 `-Xss`,可以灵活调整栈内存大小,以适应不同的应用场景。本文介绍了设置栈内存大小的方法、应用场景和注意事项,希望能帮助开发者更好地管理Java应用的内存资源。
924 4
|
数据采集 算法 Java
如何在Java爬虫中设置动态延迟以避免API限制
如何在Java爬虫中设置动态延迟以避免API限制
|
Java Linux iOS开发
如何配置 Java 环境变量:设置 JAVA_HOME 和 PATH
本文详细介绍如何在Windows和Linux/macOS系统上配置Java环境变量。
20663 12
|
Java Linux iOS开发
如何设置 Java 的环境变量
设置Java环境变量是使用Java开发工具和运行Java程序的前提。主要步骤包括:安装JDK,配置系统环境变量中的JAVA_HOME、PATH和CLASSPATH,确保命令行可直接调用javac和java命令。
821 6
|
安全 Java Linux
java程序设置开机自启
java程序设置开机自启
1180 1
|
8月前
|
缓存 监控 前端开发
顺企网 API 开发实战:搜索 / 详情接口从 0 到 1 落地(附 Elasticsearch 优化 + 错误速查)
企业API开发常陷参数、缓存、错误处理三大坑?本指南拆解顺企网双接口全流程,涵盖搜索优化、签名验证、限流应对,附可复用代码与错误速查表,助你2小时高效搞定开发,提升响应速度与稳定性。
|
9月前
|
数据可视化 测试技术 API
从接口性能到稳定性:这些API调试工具,让你的开发过程事半功倍
在软件开发中,接口调试与测试对接口性能、稳定性、准确性及团队协作至关重要。随着开发节奏加快,传统方式已难满足需求,专业API工具成为首选。本文介绍了Apifox、Postman、YApi、SoapUI、JMeter、Swagger等主流工具,对比其功能与适用场景,并推荐Apifox作为集成度高、支持中文、可视化强的一体化解决方案,助力提升API开发与测试效率。
|
8月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南