Discussions
Categories
- 196.9K All Categories
- 2.2K Data
- 239 Big Data Appliance
- 1.9K Data Science
- 450.3K Databases
- 221.7K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 550 MySQL Community Space
- 478 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3K ORDS, SODA & JSON in the Database
- 545 SQLcl
- 4K SQL Developer Data Modeler
- 187K SQL & PL/SQL
- 21.3K SQL Developer
- 295.9K Development
- 17 Developer Projects
- 138 Programming Languages
- 292.6K Development Tools
- 107 DevOps
- 3.1K QA/Testing
- 646K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 155 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.1K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 18 Java Essentials
- 160 Java 8 Questions
- 86K Java Programming
- 80 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.3K Java SE
- 13.8K Java Security
- 204 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 440 LiveLabs
- 38 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 171 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 232 Portuguese
Is spring @RequestBody support type of a class

Hi All,
I have to execute a method based on different scenario.But the VO passing each time will be different.So how can i configure this in Spring
I have to execute method doSomeAction(@RequestBody SubVOA subVOA)
class mainVO{
//main attributes
}
class subVoA extends mainVO{
//some attributes
}
class subVoB extends mainVO{
//some attributes
}
how its possible to configure doSomeAction to accept both subVoA and subVoB. if not any other solution to do this
Answers
-
Once again, this is what polymorphism can do for you - see https://docs.oracle.com/javase/tutorial/java/IandI/polymorphism.html
If you pass an object that is an instantiation of mainVO, you may call a method that is implemented in this class. But if you pass an object that belongs to either subVoA or subVoB (better start class' names with a capital letter - hence, MainVO, SubVoA, SubVoB) and you override the method's implementation in these classes, it will call the method that belongs to the appropriate class. No need to do anything extra.
-
Thank you for your reply.
I have set SubVO object from client side and have to call this method from client side .SO can i instantiate MainVO here.
Can you please explain it more clearly.
-
If you have an object instantiated, just call its method.
If you need to find out what object (of what class) you have, you can use the reflection API, in particular instanceof to find that out - see http://stackoverflow.com/questions/541749/how-to-determine-an-objects-class-in-java
-
I have set SubVO object from client side and have to call this method from client side .SO can i instantiate MainVO here. Can you please explain it more clearly.
The Java Tutorials explains that, and more, 'clearly' and has working example code.
There are no shortcuts.
Creating instances and using nested classes is BASIC functionality in Java.
You have to LEARN what functionality exists and HOW to use it BEFORE you start writing code.
Read the trails at the link you were given first and try the examples those lessons contain.
The forums are not really suitable for trying to teach/train you in Java. There are plenty of web sites, articles and books on the web that you can find/use to learn Java basics. But I suggest you start with the Java Tutorials.