У меня есть ситуация, когда размеры моего файла API растут, так как я продолжаю добавлять все больше и больше случаев переключения посредников ... каков наилучший способ разделения и организации их в wso2.Ниже приведен пример примера одного из файлов ...
Проблема в том, что случаи растут, а размер файла становится слишком большим.
Иногда один из «CASE» может быть как 100 строк!Здесь, в примере, я запутываю, используя (...), конечно.
Буду признателен за любую помощь.В идеале есть способ, как мы можем разделить это на файлы меньшего размера.Это удивительно трудно найти после поиска в Google.Я уверен, что я не первый, кто столкнется с этим.
Также вы можете видеть здесь, что функция fixDate (данное_время) повторяется в этом файле, что является лучшим способом включить эту функцию один раз и использовать ее во всем файле.
Спасибо за любые идеи!
Файл называется \ synapse-config \ api \ Applications.xml ... и его размер увеличивается ...
<?xml version="1.0" encoding="UTF-8"?>
<api context="/applications" name="Applications" xmlns="http://ws.apache.org/ns/synapse">
<resource methods="GET">
<inSequence>
<property name="DISABLE_CHUNKING" scope="axis2" type="STRING" value="true"/>
....
...
...
<property expression="$url:page" name="uri.var.page" scope="default" type="STRING"/>
<script language="js"><![CDATA[
...
></script>
<payloadFactory description="PayloadFactory" media-type="json">
<format>
$1
</format>
<args>
<arg evaluator="xml" expression="get-property('uri.var.ats_credentials')"/>
</args>
</payloadFactory>
<property expression="json-eval($.auth_code)" name="uri.var.auth_code" scope="default" type="STRING"/>
<log level="full">
</log>
<switch source="get-property('uri.var.ats_type')">
<case regex="CASE 1">
<payloadFactory media-type="json">
<format>{
"filters": [
{
"name": "applicantworkflow.updateddate",
"value": [
"$1"
],
"secondaryValue": [
"$2"
]
},
{
"name":
"applicantworkflow.id",
"value": [
"$3"
],
"operator": ">"
}
]
.......
<case regex="CASE 2">
<script language="js"><![CDATA[function fixDate(given_time) {
......
<case regex="CASE 3">
<script language="js"><![CDATA[function fixDate(given_time) {
......
<case regex="CASE 4">
<script language="js"><![CDATA[function fixDate(given_time) {
......
//FILE SIZE KEEPS GROWING..... with different cases......
<default>
<log description="Fault Log" level="custom">
<property expression="fn:concat('Invalid ATS - ', get-property('uri.var.ats_type'))" name="message"/>
</log>
<payloadFactory media-type="json">
<format>{
"Error": "Invalid ATS"
}
</format>
<args/>
</payloadFactory>
<respond description="Respond"/>
</default>
</switch>
</inSequence>
<outSequence>
<send/>
</outSequence>
<faultSequence>
<send/>
</faultSequence>
</resource>
<handlers>
<handler class="com.tti.security.OpenSourceAuthHandler"/>
</handlers>
</api>