J'ai créé une application de portlet de perte de vie en utilisant lorsque j'ai utilisé J'ai p> angularjs code> et le ressort, j'ai besoin de créer des appels de repos que j'ai créés à l'aide de
@ResourCemapping code> comme indiqué ci-dessous. L'application fonctionne bien, mais le problème est que je ne sais pas comment faire
obtenir code>,
Supprimer code>,
mettre code> http
reste < / code> appels depuis
@ResourCémappe code> ne permet pas de spécifier aucune méthode.
@RequestMapping code> au lieu de
@ResourCemapping code> comme indiqué ci-dessous p>
@restinMapping code> li>
@RequestMapping code> au lieu de
@ResourCémappe code> dans Portlet Spring de Liferay pour
REST CODE> Appels LI>
GetUser / 12 / Mumbai Code> Li>
repos code> JSON comme corps au lieu de la demande Param Li>
ol> p>
4 Réponses :
3. How can we create resource based REST urls like getUser/12/mumbai @RequestMapping(value="getUser/{userId}/mumbai", method=RequestMethod.GET) @ResponseBody public List<String> userDetail(@RequestParam("userId") long userId) throws Exception { System.out.println("Got detail request for user with id {} "+ userId); //UserDetail userDetail = this.userService.getPortalUserDetail(userId); List<String> users = new ArrayList<String>(); users.add("Manu"); users.add("Lissie"); users.add("John"); return users; } 4. How can we send REST json as body instead of Request Param You can use @RequestBody @RequestMapping(value="saveUser/{userId}", method=RequestMethod.GET) @ResponseStatus(HttpStatus.CREATED) public void userDetail(@RequestParam("userId") long userId, @RequestBody User user) throws Exception { // Logic }
Quand j'ai essayé avec @ demandage, j'ai obtenu org.springframework.beans.beansception: erreur création de haricot avec nom 'org.springframework.web.portlet.mvc.notation.defaulnot ationhandlermapping': initialisation de la bean a échoué ; Exception imbriquée est java.lang.illegalStateException: conflit de mappages en mode entre le niveau et le type de type: [GetUserDetail] Versus [Vue] Code>
Avez-vous des mappages en double? S'il vous plaît montrer votre code complet.
@shakin pouvez-vous me dire votre adresse e-mail
@shakin aucune idée à ce sujet, j'espère que vous avez vu mon code
Voici quelques exemples qui peuvent vous aider, c'est comment j'utilise au lieu de Voici un extrait de code que j'utilise actuellement avec une façade angularjs pour l'enregistrement de l'utilisateur . Cela fonctionne simplement et j'utilise @RequestMapping: p> afin de @RequestMapping code>: p>
requiermethod.get code> Vous pouvez utiliser
requiermethod.post code>,
demandemethod.put code>,
requestmethod.delete code> et ainsi de suite ... p>
Comment pouvons-nous envoyer le reste JSON comme corps au lieu de la demande Param h2>
public ResponseEntity<userDetail > (...
Mapping Mappings Conflit Strong> Exception La question ne le montre pas, mais votre contrôleur a probablement Demande de mapping Exemples strong> P> @RequestMapping ("Vue") code> Annotation. Ce mappage de niveau de type est en conflit avec les mappages de niveau de la méthode. Vous devez supprimer
@RequestMapping CODE> Annotation sur la classe du contrôleur. P>
@Controller
public class SampleRESTFullController {
// Simple GET
@RequestMapping(value = "/helloSample", method = RequestMethod.GET)
@ResponseStatus(HttpStatus.OK)
public @ResponseBody List<HelloSample> helloSample() { ... }
// GET with path variable
@RequestMapping(value = "/helloSample/sampleId/{sampleId}", method = RequestMethod.GET)
public @ResponseBody HelloSample helloSample(@PathVariable("sampleId") Long sampleId) { ... }
// POST with @RequestBody
@RequestMapping(value = "/helloSample", method = RequestMethod.POST)
@ResponseStatus(HttpStatus.CREATED)
public @ResponseBody HelloSample createSample(@RequestBody HelloSample helloSample) { ... }
// PUT with path variable and @RequestBody
@RequestMapping(value = "/helloSample/sampleId/{sampleId}", method = RequestMethod.PUT)
@ResponseStatus(HttpStatus.NO_CONTENT)
void update(@PathVariable("sampleId") long sampleId, @RequestBody HelloSample helloSample) { ... }
// DELETE
@RequestMapping(value = "/helloSample/sampleId/{sampleId}", method = RequestMethod.DELETE)
@ResponseStatus(HttpStatus.NO_CONTENT)
void delete(@PathVariable("sampleId") long sampleId) { ... }
}
@Tomaspinos j'ai créé une classe de contrôleur distincte et Annotatated comme @Controller Code> et avez créé une fonction
@RequestMapping code> comme ci-dessus, je reçois maintenant 404
Pouvez-vous venir faire une conversation sur Chat.Stackoverflow .Com / Chambres / 93360 / ...
Il y a des méthodes suivantes pour utiliser l'application de repos avec JS angulaire P>
xxx pré> et utiliser après JavaScript pour communiquer avec le contrôleur de ressort p> blockQuote>
p>
var formData = { "userName" : 'Vasim', "password" : '123456', "roleName" : 'Admin' }; var response = $http.post('add', formData); response.success(function(data, status, headers, config) { $scope.message = data; }); var formData = { "userName" : 'Vasim', "password" : '123456', "roleName" : 'Admin' }; var response = $http.put('edit', formData); response.success(function(data, status, headers, config) { $scope.message = data; }); $scope.delete= function(employeeId) { $http['delete']('delete', { params : { 'employeeId' : employeeId } }). success(function(data) { $scope.msg = data; }); $http.get('get',{params:{ 'id':id } }).success(function(data) { $scope.employees = data;
Boot @RequestMapping ne fonctionne pas
iamvasim786@gmail.com
Eh bien avez-vous résolu votre problème? Et si oui qu'est-ce que tu as fait?
@Christosbazioiotis quand j'ai essayé avec @ DemandeMappe, j'ai obtenu
org.springframework.beansceptionException: erreur création de haricot avec nom 'org.springframework.web.portlet.mvc.annotation.defultannot ationhandlermapping': L'initialisation de la bean a échoué; Exception imbriquée est java.lang.illegalStateException: conflit de mappages en mode entre le niveau et le type de type: [GetUserDetail] Versus [Vue] Code>
@Christosbaziotiotis Dois-je utiliser une configuration supplémentaire pour utiliser
@RequestMapping code>
@Christosbazioiotis comme Tomáš Piňos a déclaré que j'ai créé une classe de contrôleur distincte et annotataned comme
@Controller Code> et avez créé une fonction
@RequestMapping CODE> comme ci-dessus, je reçois maintenant 404
S'il vous plaît dites-moi la 1) URL complète que vous avez utilisée avant et 2) la valeur
@RequestMappage code> que vous utilisez maintenant. Le
@RequestMapping code> doit avoir placé le point final dans une URL différente. Par exemple, si vous avez déjà utilisé
localhost: 12345 / API / APIMUIGHATHIX QUE code>, peut-être que le point final est sous
localhost: 12345 / grossité code> ou le contraire.
@Christosbazioiotis L'URL que j'ai utilisé pour accéder auparavant lorsque j'ai utilisé @ResourCémappe est
http: // localhost: 8082 / Web / invité / invité / welck? P_p_id = fileProcesseur portlet_war_fil% e2% 8 0% A6E = Vue & p_p_cache capacité = Cachelevelpa ge & p_p_col_id = colonne -1 & p_p_col_count = 3 & p _p_resource_id = userd etail et userid = 1 code>. Maintenant, j'ai mes cours de contrôleur comme SamplerestfullController.java et j'ai essayé de l'appeler comme
http: // localhost: 8082 / Processor-Portlet / Services / Auth / U ser Code> Mais a obtenu 404
Cochez sous
http: // localhost: 8082 / auth / utilisateur code> ou
http: // localhost: 8082 / processeur-processeur-portlet / auth / utilisateur code> ou
http : // localhost: 8082 / Services / Auth / utilisateur Code>. Je ne sais pas comment vous avez configuré votre application.
Laissez-nous Continuez cette discussion en chat .