010
Создание инстанции бизнес-объекта (БО)
011
012
Предусловие: Для загрузки у вас должно иметься БО (Что это такое и как
014 создать?)
015
016
Запрос (Request):
017
018
019 POST /api/v1/boi/create
020 Content-Type: application/json
021 API-TOKEN/TOKEN: your_token
022
023
024
025
043
044
Входные данные:
045
046
047 {
048 "boCode": "Код бизнес-объекта",
049 "initialFieldValues": {
050 "Код поля 1": "Значение поля 1",
051 "Код поля 2": "Значение поля 2",
052 "Код поля 3": "Значение поля 3"
053 },
054 "fieldRefAdd": [
055 {
056 "fieldCode": "код поля 4",
057 "boCode": "код БО который содержит в себе поле с кодом поля 4",
058 "fieldRefUniqCode": "код уникального поля 1",
059 "apiValues": [
060 "значение 1 уникального поля 1",
061 "значение 2 уникального поля 1"
062 ]
063 },
064 ...
065 ],
066 "multiLanguage": true / false
067 }
068
069
070
071
072
073
074 Атрибут входного JSON |
075 Описание |
076
077
078
079
080
081 boCode |
082 (String): Код бизнес-объекта. Как получить
084 boCode? |
085
086
087
088 initialFieldValues.key |
089 (String): Код определенного поля внутри
090 БО. Как получить Код
091 Поля? |
092
093
094
095 initialFieldValues.value |
096 (String): Значение определенного поля
097 внутри БО. Какие значения для
098 каких полей надо вводить? |
099
100
101
102 fieldRefAdd |
103 (Массив объектов): Для добавления
104 ссылок в поле БО по значениям уникальных полей вложенного БО |
105
106
107
108 fieldRefAdd.fieldCode |
109 (String): Код поля БО. Смотрите
110 выше как получить код поля? |
111
112
113
114 fieldRefAdd.boCode |
115 (String): Если поле с
116 fieldCode находится внутри СО, то данное поле
117 обязательное к заполнению, так как она будет
118 показывать к какому БО относится ваше поле. |
119
120
121
122 fieldRefAdd.fieldRefUniqCode |
123 (String): Код уникального поля БО на
124 которое ссылается ваше поле. Смотрите выше как получить код
125 поля? |
126
127
128
129 fieldRefAdd.apiValues |
130 (Массив String): Значения уникальных
131 полей которы надо добавить. Если в fieldRefRemove, то удалить. |
132
133
134
135 multiLanguage |
136 (Boolean): Только для отображения
137 мультиязычных полей созданной инстанции. Значение по умолчанию
138 false - значит у вас будет отображаться значение на
139 выбранном языке текущего пользователя. При true , вам
140 будет отправляться массив объектов
141 fieldValuesLang, содержащая текст по всем языкам
142 которые есть в системе для всех мультиязычных полей. |
143
144
145
146
147
Примечание: Вы можете указывать несколько
148 уникальных полей одного и того же БО.
149
150
Пример:
151
152
153 {
154 "boCode": "Customer_Orders",
155 "initialFieldValues": {
156 "ORDER_ID": "239",
157 "CUSTOMER_NAME": "Temirlan",
158 "ORDER_TOTAL": "12311.0123",
159 "ORDER_DATE": "2023-12-23T14:30:45.123Z",
160 "ORDER_STATUS": "mm6mHOUvo3w3w~Ud" // идентификатор значения из выборки
161 },
162 "multiLanguage": true
163 }
164
165
166
167
Ответ (Response):
168
169
Созданная инстанция БО:
170
171
172 {
173 "boiId": "Идентификатор инстанции БО",
174 "boCode": "Kод БО",
175 "state": "Одно из значений: ALL, REMOVED, ARCHIVED, DEV",
176 "isTouched": "Прочитано ли текущим пользователем данная инстанция? (true/false)",
177 "fieldValues": {
178 "код поля 1": {
179 "apiValue": "значение поля 1",
180 "displayValue": "значение поля для отображения 1",
181 "type": "Тип поля" // Подробнее о типах поля можете узнать по ссылке ниже
182 },
183 "код поля 2": {
184 "apiValue": "значение поля 2",
185 "displayValue": "значение поля для отображения 1",
186 "type": "Тип поля" // Подробнее о типах поля можете узнать по ссылке ниже
187 },
188 "код поля 3": {
189 "apiValue": "значение поля 3",
190 "displayValue": "значение поля для отображения 1",
191 "type": "Тип поля" // Подробнее о типах поля можете узнать по ссылке ниже
192 }
193 },
194 "fieldValuesLang": {
195 "код поля 4 ": {
196 "type": "тип мультиязычного поля 4",
197 "langApiValue": { // Значения по всем языкам которые есть в системе
198 "Код языка": "Значение мультиязычного поля на этом языке",
199 }
200 },
201 "код поля 5": {
202 "type": "тип мультиязычного поля 5",
203 "langApiValue": { // Значения по всем языкам которые есть в системе
204 "Код языка": "Значение мультиязычного поля на этом языке"
205 }
206 }
207 }
208 }
209
210
211
212
216
217
Значения поля state:
218
219
1) ALL - Рабочее состояние записи
220
221
2) REMOVED - Запись удалена
222
223
3) ARCHIVED - Запись в архиве
224
225
4) DEV - Запись используется для тестирования
226 процессов
227
228
Значение поля boiId можно позже использовать для
229 получения инстанции бизнес объекта.
230
231
Пример:
232
233
234 {
235 "boiId": "xkhQtwa9E8qrxQnQ",
236 "boCode": "Customer_Orders",
237 "state": "ALL",
238 "isTouched" : true,
239 "fieldValues": {
240 "ORDER_ID": {
241 "apiValue": "239",
242 "displayValue": "239",
243 "type": "INPUT_NUMBER"
244 },
245 "ORDER_DATE": {
246 "apiValue": "2023-12-23T20:30:45.123+06",
247 "displayValue": "2023-12-23 20:30",
248 "type": "FULL_DATE"
249 },
250 "CUSTOMER_NAME": {
251 "apiValue": "Temirlan",
252 "displayValue": "Temirlan",
253 "type": "INPUT_TEXT_LANG"
254 },
255 "ORDER_STATUS": {
256 "apiValue": "mm6mHOUvo3w3w~Ud",
257 "displayValue": "Pending",
258 "type": "RADIO_BUTTON_GROUP"
259 },
260 "ORDER_TOTAL": {
261 "apiValue": "12311.0123",
262 "displayValue": "12311.0123",
263 "type": "INPUT_NUMBER"
264 }
265 },
266 "fieldValuesLang": {
267 "CUSTOMER_NAME": {
268 "type": "INPUT_TEXT_LANG",
269 "langApiValue": { // Значения по всем языкам которые есть в системе
270 "ENG": "Temirlan",
271 "RUS": "Темирлан",
272 "KAZ": "Темірлан",
273 "QAZ": "Temirlan"
274 }
275 }
276 }
277 }
278
279
280
281
282
at kz.greetgo.md_reader.util.MdUtil.xmlTextToDoc(MdUtil.java:80)
at kz.greetgo.md_reader.core.MdConverter.prepareHtmlFileFrom(MdConverter.java:136)
at kz.greetgo.md_reader.core.MdConverter.convert(MdConverter.java:208)
at kz.greetgo.md_reader.controller.RenderController.downloadToc(RenderController.java:360)
at kz.greetgo.md_reader.controller.RenderController.request(RenderController.java:108)
at jdk.internal.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:207)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:152)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:884)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1081)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:974)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1011)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
at kz.greetgo.md_reader.interceptors.TextReplaceFilter.doFilter(TextReplaceFilter.java:36)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:166)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:894)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.io.IOException: Server returned HTTP response code: 429 for URL: http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:2000)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:677)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1397)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1333)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.startPE(XMLDTDScannerImpl.java:732)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.skipSeparator(XMLDTDScannerImpl.java:2101)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.scanDecls(XMLDTDScannerImpl.java:2064)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.scanDTDExternalSubset(XMLDTDScannerImpl.java:299)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1165)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1040)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:943)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:542)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:889)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at java.xml/com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:247)
at java.xml/com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:342)
at java.xml/javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:122)
at kz.greetgo.md_reader.util.MdUtil.xmlTextToDoc(MdUtil.java:71)
... 48 more