#angular #spring #spring-boot #post #httprequest
Вопрос:
Я хочу подключить угловой интерфейс и серверную часть springboot с помощью метода post.После того, как я захочу вернуть переменные после отправки угловой формы и вернуть значения.получите данные из внешнего интерфейса, которые отображаются в конце.
Угловой сервис
import { Injectable } from '@angular/core';
import { HttpClient} from "@angular/common/http";
import {Observable} from "rxjs";
import {UserDetails} from "./UserDetails";
@Injectable({
providedIn: 'root'
})
export class UserDetailsService {
private baseUrl = "http://localhost:8080/users";
constructor(private http: HttpClient) { }
getUsers(userDetails: UserDetails ): Observable<any>{
return this.http.post<any>(this.baseUrl, userDetails);
}
}
Контроллер пользователя Springboot
package com.example.demo.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import com.example.demo.model.User;
@CrossOrigin(origins = "http://localhost:4200/")
@RestController
public class userController {
static Logger logger =LoggerFactory.getLogger(userController.class);
@PostMapping("users")
public void getUsers(User user){
String title = user.getTitle();
logger.info("mess" title);
}
}
пользователь весенней загрузки
package com.example.demo.model;
public class User {
private String title;
public User(String title) {
this.title = title;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
Комментарии:
1. и в чем именно заключается ваш вопрос? вы почти на месте, просто нужно вызвать конечную точку api на angular и передать пользовательский объект через json, убедитесь, что ваш внешний объект имеет те же атрибуты, что и ваш пользовательский объект java, для более легкой синхронизации между ними. Я бы также рекомендовал, чтобы ваш метод @PostMapping возвращал строку, а не устанавливал ее как пустую