Para Desenvolvedores

Uso de Add / Edit via Rest

Estamos fazendo uso da funcinalidade REST com a versão do Lumis 11.2.

Mas estamos enfrentado problemas ao tentar realizar uma edição de conteúdo via rest, com o seguinte erro :

Caused by: java.lang.NullPointerException: originalItemId cannot be null

    at java.util.Objects.requireNonNull(Objects.java:228)
    at lumis.doui.source.event.SourceUpdateDataEvent.<init>(SourceUpdateDataEvent.java:39)
    at lumis.doui.source.event.SourcePreUpdateDataEvent.<init>(SourcePreUpdateDataEvent.java:37)
    at lumis.doui.source.Source.updateData(Source.java:1477)
    at lumis.doui.source.processaction.SourceUpdateDataProcessActionHandler.doAction(SourceUpdateDataProcessActionHandler.java:22)
    at lumis.doui.source.processaction.BaseSourceProcessActionHandler.processAction(BaseSourceProcessActionHandler.java:41)
    at lumis.doui.processaction.ProcessActionContainer.processAction(ProcessActionContainer.java:303)

 

Abaixo segue código das interfaces:

		<interface id="restCategoryAdd">
			<sources>
				<source id="category"/>
			</sources>
			<controls><!-- Necessário incluir <controls> -->
				<control:lum_autoLayoutFields/>
			</controls>
			<processActions>
				<processAction id="commit" className="lumis.doui.source.processaction.SourceAddDataProcessActionHandler">
					<response type="doui_message" message="STR_XPTO" />
				</processAction>
			</processActions>
		</interface>
		
		<interface id="restCategoryEdit">
			<sources> 
				<source id="category">
					<filters>
						<filter id="id" requestParameterName="id" />
					</filters>
				</source>
			</sources>
			<controls><!-- Necessário incluir <controls> -->
				<control:lum_autoLayoutFields/> 
			</controls>
			<processActions>
				<processAction id="commit" className="lumis.doui.source.processaction.SourceUpdateDataProcessActionHandler">
					<response type="doui_message" message="STR_XPTO" />
				</processAction>
			</processActions>
		</interface>

<interface name="STR_REST_CATEGORY_ADD" id="restCategoryAdd" type="lum_doui" >
			<isRestEnabled>true</isRestEnabled>
		</interface>
		<interface name="STR_REST_CATEGORY_EDIT" id="restCategoryEdit" type="lum_doui" >
			<isRestEnabled>true</isRestEnabled>
		</interface> 

 

 

Por Lucas de Souza Toledo

Em 16/10/19 12:11

Acompanhar pergunta

1 resposta(s):

Ordenar por:

Alan, 

não é possível editar itens utilizando a classe padrão de Proccess Action (lumis.doui.source.processaction.SourceUpdateDataProcessActionHandler), somente é possível adicionar.

Você pode criar seu próprio Proccess Action para receber e tratar os parametros corretamente, ou então criar uma classe rest que faça as atualizações necessárias, a partir do minuto 9:20 tema maiores explicações de como fazer.

https://lumisxp.lumis.com.br/para-desenvolvedores/aprenda/videos/videos-da-versao-8/36-suportando-rest-apis-nos-servicos.htm

Por Guilherme Santana

Em 16/10/19 17:05

Entrar

Interaja com a comunidade e tenha acesso a conteúdos exclusivos.

Houve algum erro ao acessar o banco de dados. Tente novamente mais tarde.