Como testar o OffsetDateTime no Postman

Vc quer testar usando o recurso de teste do postman mesmo? E o que vc quer testar nessa data?

Isso Lucas: basicamente os outros atributos funcionam, mas as datas não sei qual formato!

Tenta com esse formato: 2007-12-03T10:15:30+01:00

FONTE: Class OffsetDateTime

Boa noite amigo: estou na parte do front-end tentando recuperar os dados de um formulario abaixo:

<div class="container col-md-10">
    <div class="card">
        <div class="card-header">
            <h4>Cadastrar Atividades</h4>
        </div>
        
        <div class="card-body">
            <form action="">             
                    <div class="form-group">
                     <label for="">DESCRIÇÃO</label>
                          <input #descricao type="text" class="form-control" style="background-color: lightblue;">
                     </div>
                <br>
                <br>
                    <div class="form-group">
                        <label for="selectStatus">STATUS</label>
                         <select #status class="form-control" id="idStatus" style="background-color: lightblue;">
                             <option selected>SELECIONE</option>
                             <option>AGENDADA</option>
                             <option>EM ANDAMENTO</option>
                             <option>CONCLUIDA</option>
                             </select>
                     </div>
                <br>
                <br>

                    <div class="form-group"> 
                      <label for="selectPrioridade">PRIORIDADE</label>          
                           <select #prioridade class="form-control" id="idPrioridade" style="background-color: lightblue;">
                                <option selected>SELECIONE</option>
                                <option>ALTA</option>
                                <option>MEDIA</option>
                                <option>BAIXA</option>
                            </select>
                      </div>
                <br>
                <br>
                <div class="form-group">
                       <label for="selectFuncionario">FUNCIONÁRIO</label>
                            <select #funcionario.nome class="form-control" id="idFuncionario" style="background-color: lightblue;">
                                   <option selected>SELECIONE</option>
                                   <option>Pompeo Cesar da Silva</option>
                                   <option>Alexandrovina</option>
                                   <option>Catarina</option>
                            </select>
                        </div>
                <br>
                <br>
                       <!--<label for="dataPrevista">DATA PREVISTA</label>
                        <div class="form-group">
                             <input #dataPrevista type="date" id="dataPrevista" name="dataPrevista" ng-model="example.value"

                             placeholder="yyyy-MM-dd hh:mm" min="2013-01-01" max="2030-12-31" required  style="background-color: lightblue;"/>
                        </div>-->
                <div class="botao">
                    <button (click)="Cadastrar(atividade)" class="btn btn-danger">Cadastrar</button>
               </div>
            </form>
        </div>
    </div>
</div>

Porém: a pergunta é como recuperar Atividade nesse componente angular abaixo?

import { HttpResponse } from '@angular/common/http';
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { Atividade } from 'src/app/Modelo/Atividade';
import { ServiceService } from 'src/app/Service/service.service';
import { Funcionario } from 'src/app/Modelo/Funcionario';

@Component({
  selector: 'app-adicionar',
  templateUrl: './adicionar.component.html',
  styleUrls: ['./adicionar.component.css']
})
export class AdicionarComponent implements OnInit {

  atividade:Atividade;
  
  constructor(private router:Router, private service:ServiceService) {}

  ngOnInit(): void {
  }

  Cadastrar(atividade:Atividade){
    this.service.createAtividade(atividade)
    .subscribe(data=>{alert("Se agrego com exito...!!!");
     this.router.navigate(["listar"]);
  })
  }

}

Como recupero uma atividade com esse modelo?

No spring sai: Required request body is missing:

Parece que está faltando vc configurar o form. Veja essa resposta aqui mesmo do GUJ: Erro angular 8 *ngForm


Do nada, tu mudou de dúvida. Conseguiu resolver o problema do OffsetDateTime?

A duvida do OffsetTime não: mas talves se conseguir inserir uma atividade, consigo cadastrar junto a data:

Entendi. O formato que passei, não deu certo de usar no postman não?

Não tentei: eu preciso cadastrar uma atividade: depois cadastrar uma atividade com data: a parte do spring está pronta: eu ja consegui que a interface angular liste as atividades que cadastrei pelo postman: Porém: não consigo implementar o cadastro para cadastrar: quando tento cadastrar uma atividade pela interface que construi, a mensagem do spring é: No spring sai: Required request body is missing: = deduso dai que é um problema de construir uma atividade: não sei como instanciar a atividade no AdicionarModulo e recuperar os atributos no componente.html

Veja o link que mandei referente ao form em angular. Supondo que vc vá usar template-driven forms, vc deve usar ngModel nos inputs do form indicando a propriedade que será preenchida no objeto. E esse objeto que será preenchido será o que vc irá enviar no requisição http que será recebida pelo endpoint criado no spring.

Então, já tentei de tudo, não consigo, não funciona!

O componente está assim:

import { HttpResponse } from '@angular/common/http';
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { FormGroup} from '@angular/forms';
import { FormBuilder } from '@angular/forms';
import { ReactiveFormsModule } from '@angular/forms';
import { FormControl } from '@angular/forms';

import { Atividade } from 'src/app/Modelo/Atividade';
import { ServiceService } from 'src/app/Service/service.service';
import { Funcionario } from 'src/app/Modelo/Funcionario';

@Component({
  selector: 'app-adicionar',
  templateUrl: './adicionar.component.html',
  styleUrls: ['./adicionar.component.css']
})
export class AdicionarComponent implements OnInit {

  atividade:Atividade;    
  formulario:FormGroup;
  
  constructor(private formBuilder:FormBuilder, private router:Router, private service:ServiceService) {
  }

  ngOnInit(): void {
    this.formulario = this.formBuilder.group({
      descricao: [null],
      status: [null],
      prioridade: [null],
      funcionario: [null]
      //dataNascimento: new FormControl(cliente.dataNascimento),
        })
  }

   OnSubmit(){
    this.service.createAtividade(this.atividade)
    .subscribe(data=>{alert("Se agrego com exito...!!!");
     this.router.navigate(["listar"]);
     console.log(this.formulario.value);
     //this.formAtividade.reset(this.atividade);
    })
   }
}

Já a o html:

<div class="container col-md-10">
    <div class="card">
        <div class="card-header">
            <h4>Cadastrar Atividades</h4>
        </div>

        <div class="card-body">
            <form class="form-horizontal" [formGroup]="formulario" (ngSubmit)="OnSubmit()">             
                    <div class="form-group">
                     <label for="" class="control-label" >DESCRIÇÃO</label>
                          <input type="text" id="descricao" formControl="descricao" class="form-control" 
                          style="background-color: lightblue;">
                     </div>
                <br>   
                <br>
                    <div class="form-group">formControlName
                        <label for="selectStatus">STATUS</label>
                         <select required class="form-control" id="status" formControl="status" formControlName="status" style="background-color: lightblue;">
                             <option selected>SELECIONE</option>
                             <option>AGENDADA</option>
                             <option>EM ANDAMENTO</option>
                             <option>CONCLUIDA</option>
                             </select>
                     </div>
                <br>
                <br>

                    <div class="form-group"> 
                      <label for="selectPrioridade">PRIORIDADE</label>          
                           <select id="prioridade" formControl="prioridade" required class="form-control" style="background-color: lightblue;">
                                <option selected>SELECIONE</option>
                                <option>ALTA</option>
                                <option>MEDIA</option>
                                <option>BAIXA</option>
                            </select>
                      </div>
                <br>
                <br>
                <div class="form-group">
                       <label for="selectFuncionario">FUNCIONÁRIO</label>
                            <select id="funcionario" formControl="funcionario" required class="form-control" id="idFuncionario" style="background-color: lightblue;">
                                   <option selected>SELECIONE</option>
                                   <option>Pompeo Cesar da Silva</option>
                                   <option>Alexandrovina</option>
                                   <option>Catarina</option>
                            </select>
                        </div>
                <br>
                <br>
                        <!--<label for="dataPrevista">DATA PREVISTA</label>
                        <div class="form-group">
                             <input #dataPrevista type="date" id="dataPrevista" name="dataPrevista" ng-model="example.value"

                             placeholder="yyyy-MM-dd hh:mm" min="2013-01-01" max="2030-12-31" required  style="background-color: lightblue;"/>
                        </div>-->
                <div class="botao">
                    <button type="submit" class="btn btn-primary">Cadastrar</button>
               </div>
            </form>
        </div>
    </div>
</div>

Acho que os formControl nos inputs estão errados:

Mude de:

formControl="prioridade"

para:

 [(formControl)]="prioridade"

Vou tentar:::::::: Como faço para testar ver se a atividade recebe os atributos: estou usando o mozila e o metodo: console.log() mas não sei onde visalizar a saída

Com o console.log, tu vê a saída no console do navegador (F12). Outra forma, seria usar o depurador, ou colocando o breakpoint pelo console do navegador ou usando a palavra-chave debugger na linha que vc quer que pare (só funciona com o console do navegador aberto).

Tenteti de tudo: não tem um exemplo completo:

Seguindo aquele exemplo que você postou: a teg que não funciona é essa:

[formGroup]

dessa parte

<form [formGroup]="profileForm" (ngSubmit)="onSubmit()">

Nessa parte:

this.service.createAtividade(this.atividade)
    .subscribe(data=>{alert("Se agrego com exito...!!!");

Vc está enviando o this.atividade, porém o seu form está sendo preenchido em formulario. Desse jeito, sempre será enviado um valor vazio. Vc deve preencher a variável atividade com os dados da variável formulario (que estará preenchida com os dados do formulário do html).

Tente assim:

this.atividade = this.formulario.value;
this.service.createAtividade(this.atividade)
    .subscribe(data=>{alert("Se agrego com exito...!!!");

Ou vc pode passar o formulário direto na requisição.

Agora consegui compila tudo, falta só isso: adicionar o formulario, para a atividade:

O ultimo atributo de atividade é um funcionario, que tem id, nome e cpf: nesse caso o que vem do selectbox é uma string, isso da um erro: como posso dar um system.outprintln() e visualizae esses dados: estou usando o visual studio code?

onSubmit(){
    //let funcionario =new Funcionario();
    //this.funcionario.id=1;
    let atividade = new Atividade();
    this.atividade.funcionario.id=1;

     //this.funcionario.id=1;
     //this.funcionario.nome = this.formulario.controls.funcionario.value;
     //this.atividade.funcionario = this.funcionario;
     this.atividade.descricao = this.formulario.controls.descricao.value;
     this.atividade.status = this.formulario.controls.status.value;
     this.atividade.prioridade = this.formulario.controls.prioridade.value;
     this.atividade.funcionario.nome = this.formulario.controls.funcionario.value;
     // this.atividade.funcionario.id=1;*/

     //this.atividade.funcionario.id = 1;
     //this.atividade = this.formulario.value;
     //this.atividade.funcionario = this.funcionario;
     this.service.createAtividade(this.atividade)
    .subscribe(data=>{alert("Se agrego com exito...!!!");
    this.router.navigate(["listar"]);
    console.warn(this.formulario.value);
     //this.formAtividade.reset(this.atividade);
    })```