Duda con API - Java
Publicado por John (1 intervención) el 16/12/2020 06:44:23
Hola Chicos muy buenos dias.
Les cuento que estoy intentando seguir unos paso de un proyecto que me llego a mis manos, con la idea de aprender a implementar Java API y me ha costado bastante.
Les cuento.
Les tengo la siguiente clase :
Este es la estructura de mi objeto.
Bueno ahora intento hacer un insert y Update llamando a los procedimientos almacenados con los ssiguientes pasos:
Lugo paso por :
para finalmente :
Ahora, desde PostMan consumo la api y al metodo
VideoActualizar
y funciona correctamente, pero al ejecutar el agregar me indica error 500, que al procedimiento se le esta pasando mas parámetros de lo normal. Cuando solo agrego 2 campos, dado que el idvideo es PK autoincremental.

El procedimiento almacenado cuenta sólo con 2 parametros.
Disculpen lo informal,
Pero mas tecnico trato de ser, pero es mi 3 dia intentando lograr esto..
Les cuento que estoy intentando seguir unos paso de un proyecto que me llego a mis manos, con la idea de aprender a implementar Java API y me ha costado bastante.
Les cuento.
Les tengo la siguiente clase :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package cl.drhora.api.dashboard.repository.model;
import cl.drhora.api.dashboard.repository.annotations.InputOutputDefinition;
import cl.drhora.api.dashboard.repository.annotations.SPInput;
@InputOutputDefinition
public class Video {
@SPInput
private int idVideo;
public int getIdVideo() {
return idVideo;
}
public void setIdVideo(int idVideo) {
this.idVideo = idVideo;
}
@SPInput
private String nombreVideo;
@SPInput
private String urlVideo;
public String getNombreVideo() {
return nombreVideo;
}
public Video setNombreVideo(String nombreVideo) {
this.nombreVideo = nombreVideo;
return this;
}
public String getUrlVideo() {
return urlVideo;
}
public Video setUrlVideo(String urlVideo) {
this.urlVideo = urlVideo;
return this;
}
public Video() {
}
}
Este es la estructura de mi objeto.
Bueno ahora intento hacer un insert y Update llamando a los procedimientos almacenados con los ssiguientes pasos:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package cl.drhora.api.dashboard.repository.sp;
import cl.drhora.api.dashboard.repository.constants.SPContants;
import cl.drhora.api.dashboard.repository.core.AbstractStoredProcedure;
import cl.drhora.api.dashboard.repository.model.Video;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
@Repository
public class SP_tVideoAgregar extends AbstractStoredProcedure {
public SP_tVideoAgregar(
@Qualifier(SPContants.SQLSERVER_JDBC_TEMPLATE) JdbcTemplate jdbcTemplate,
@Value("sp_tVideoAgregar") String spName) {
super(jdbcTemplate, spName);
declareInputOuputParameters(Video.class);
}
}
Lugo paso por :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package cl.drhora.api.dashboard.service;
import cl.drhora.api.dashboard.model.EspecialistasTO;
import cl.drhora.api.dashboard.model.SesionesPacienteTO;
import cl.drhora.api.dashboard.repository.model.AgendarHora;
import cl.drhora.api.dashboard.repository.model.AnularHora;
import cl.drhora.api.dashboard.repository.model.SesionesPaciente;
import cl.drhora.api.dashboard.repository.model.Video;
import java.util.List;
public interface DrHoraService {
String VideoAgregar(Video vdo);
String VideoActualizar(Video vdo);
}
para finalmente :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package cl.drhora.api.dashboard.service.impl;
import cl.drhora.api.dashboard.repository.core.SPResponse;
import cl.drhora.api.dashboard.repository.sp.*;
import cl.drhora.api.dashboard.service.DrHoraService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import cl.drhora.api.dashboard.repository.model.Video;
import static cl.drhora.api.dashboard.utils.APIUtils.castObject;
@Service
public class DrHoraServiceImpl implements DrHoraService {
@Autowired
SP_tVideoAgregar sptVideoAgregar;
@Autowired
SP_tVideoActualizar sp_tVideoActualizar;
@Override
public String VideoActualizar(Video vdo) {
SPResponse spResponse = sp_tVideoActualizar.query(vdo);
return "Video actualizado";
}
@Override
public String VideoAgregar(Video vdo) {
SPResponse spResponse = sptVideoAgregar.insert(vdo);
return "Video guardado";
}
}
Ahora, desde PostMan consumo la api y al metodo
VideoActualizar
y funciona correctamente, pero al ejecutar el agregar me indica error 500, que al procedimiento se le esta pasando mas parámetros de lo normal. Cuando solo agrego 2 campos, dado que el idvideo es PK autoincremental.
El procedimiento almacenado cuenta sólo con 2 parametros.
Disculpen lo informal,
Pero mas tecnico trato de ser, pero es mi 3 dia intentando lograr esto..
Valora esta pregunta


0